初识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:Thu 13 Oct 2005
            Server: apache/2.0
            Last-Nodified: Mon, 22 Jun
            Content-Lenght: 6821
            Content-Type: text/html

状态码:
        1xx: 信息, 接收到请求,继续处理
        2xx: 成功, 操作成功地收到,理解和接受
        3xx: 重定向, 为了完成请求,必须采取进一步措施
        4xx: 客户端错误, 请求的语法有错误或不能完全被满足
        5xx: 服务端错误, 服务器无法完成明显有效的请求

第二章、http协议及嗅探抓包--http协议详解的更多相关文章

  1. [转] Linux抓包工具tcpdump详解

    http://www.ha97.com/4550.html PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使 ...

  2. Linux抓包工具tcpdump详解

    tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具. tcpd ...

  3. Fiddler抓包工具使用详解

    一.Fiddler简介 Fiddler是最强大最好用的Web调试工具之一, 它能记录所有客户端和服务器的http和https请求.允许你监视.设置断点.甚至修改输入输出数据.Fiddler包含了一个强 ...

  4. linux下抓包工具tcpdump详解

    本文转自:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 简介 用简单的话来定义tcpdump,就是:dump the ...

  5. Fiddler 抓包工具使用详解

    博客园 首页 新随笔 联系 订阅 管理 随笔 - 20  文章 - 0  评论 - 64 Fiddler 抓包工具总结 阅读目录 1. Fiddler 抓包简介 1). 字段说明 2). Statis ...

  6. 抓包工具Fidder详解(主要来抓取Android中app的请求)

    今天闲着没吊事,来写一篇关于怎么抓取Android中的app数据包?工欲行其事,必先利其器,上网google了一下,发现了一款神器:Fiddler,这个貌似是所有软件开发者必备神器呀!这款工具不仅可以 ...

  7. 抓包工具Fidder详解

    第一步:下载神器Fiddler,下载链接: http://fiddler2.com/get-fiddler 下载完成之后,傻瓜式的安装一下了! 现在这个下载链接失效了,可以百度下载 第二步:设置Fid ...

  8. fiddler抓包常用功能详解

    一.基础部分: 1.设置代理ip及端口,tools --> telerik fiddler options --> connections -->勾选 “ Allow romote ...

  9. wireshark http抓包命令行详解

    This article is a quick and easy HowTo detailing the use of Wireshark or another network sniffing pr ...

随机推荐

  1. ICEM—三分之一风扇

    原视频下载地址:https://yunpan.cn/cSwYBI6sb9vHS  访问密码 9059

  2. Leetcode题目338:比特位计数(中等)

    题目描述: 给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 示例 1: 输入: 2 输出: [0,1,1] 示例  ...

  3. redus - 队列

    redus 写如队列 <?php $redis = new \Redis(); $redis->connect('127.0.0.1',6379); $password = '123456 ...

  4. oracle-sql脚本

    select * from dba_users; create tablespace kyc_coo; create user kyc_coo identified by "123456&q ...

  5. [服务器时区问题]PHP Warning: strftime(): It is not safe to rely on the system's timezone set

    PHP Warning: strftime(): It is not safe to rely on the system's timezone set 当运行一些程序时,在httpd日志中会有如下警 ...

  6. 轻量级通用上采样算子-CARAFE

    转载:https://zhuanlan.zhihu.com/p/76063768 前言 这篇论文被 ICCV 2019 接收为 oral presentation.之前我们主要研究物体检测(例如 Hy ...

  7. java nio 缓冲区读写数据(图形详解)

    Position 您可以回想一下,缓冲区实际上就是美化了的数组.在从通道读取时,您将所读取的数据放到底层的数组中. position 变量跟踪已经写了多少数据.更准确地说,它指定了下一个字节将放到数组 ...

  8. es6 是否包含字符串判断

    字符串查找类 接下来介绍一些可以通过 ES5 PolyFill的方法,但是现在 ES6 原生实现了 Method Param Return Description includes() 需要验证是否被 ...

  9. Generate Maximum revenue by selling K tickets from N windows

    Objective: Given ‘N’ windows where each window contains certain number of tickets at each window. Pr ...

  10. 82. 删除排序链表中的重复元素 II

    # 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字,比如: # 输入: 1->2->3->3->4->4->5 # 输出: 1 ...