第二章、http协议及嗅探抓包--http协议详解

初识http协议
    hypertext trandfer protocol 超文本传输协议,是一种分布式,合作式,多媒体信息系统服务,面向应用层的协议。使用最广泛的应用层协议,基于传输层的TCP协议进行通信,Http协议是通用、无状态的协议
    功能: 用于在服务器和客户机之前传输超文本文件

http协议基础知识
    http特点
        客户/服务器模式:一个服务器可以为分布在世界的许多客户服务
        简单:有效处理大量请求,程序规模小,所以速度快,相比其他协议时间开销小
        灵活:允许传输任意类型的数据对象,可以通过Content-type来指定数据类型
        无状态:无状态的协议,运行速度高,服务器应答速度快

    http的事务处理
        客户端与服务器端建立连接
        客户端向服务器端发送请求
        服务器端向客户端回复响应
        断开连接

    http的消息链
        
    proxy介绍

    http消息介绍
        消息类型有两大类
        请求消息(request):由客户端发送给服务器消息(组成:请求行Request-Line 可选的头域Header Field 实体Entity-Body)
        响应消息(response):由服务端回复客户端请求的消息(组成:状态行Status-Line 可选的头域Header Field 实体Entity-Body)

    http请求消息
        请求消息结构
        Full-Request = Request-Line
            * ( General-Header
            | Request-Header
            | Entity-Header)
            CRLF
            [Entity-Body]
            示例:

        请求行结构
        Request-Line = Method SP
                        Request-URI
                        SP
                        HTTP-Version CRLF
            
            请求行示例:GET
            http://taobao.com/pub/WWW/page.html
            HTTP/1.1

            请求消息示例:
            http://taobao.com/pub/WWW/page.html
            HTTP/1.1
            Connection: close
            User-agent: Mozilla/4.0
            Accept-Ecoding: gzip,compress
            CR LF
            Entity-Body
            --------------------------
            理解一下本例中的各个报头
            Connection: close是在告知服务器本浏览器不想使用永久连接的方式(http/1.0非永久连接, http/1.1.永久连接)
            User-agent: Mozilla/4.0指定用户代理服务器的类型
            Accept-Ecoding: 指出发送次请求的浏览器支持哪些压缩编码方式

        请求方法:
            GET:获取一个URL指定的资源,即资源实体
            POST:向服务器提交数据
            HEAD:获取一个指定资源的信息
            PUT:向服务器提交资源
            DELETE:请求源服务器删除Request-URI标识的资源
            TRACE:网络跟踪
            CONNECT:与PROXY之间的连接管理
            OPTIONS:查询能力

    http响应消息
        响应消息结构
        Full-Response = Status-Line
            * ( General-Header
            | response-Header
            | Entity-Header)
            CRLF
            [Entity-Body]

        响应消息示例:
            HTTP/1.1 200 OK
            Connection: close
            Date:

猜你喜欢

转载自www.cnblogs.com/dingzp/p/10871238.html
今日推荐