HttpFox是Firefox的插件,可以用于HTTP分析。
https://addons.mozilla.org/en-US/firefox/addon/httpfox/
安装
1. 打开Firefox浏览器
2. 点击浏览器右上角 "打开菜单"——"附加组件"
3. 搜索 "httpfox"——点击 "安装" 即可
4. 重启浏览器
打开
1. 打开Firefox浏览器
2. 点击浏览器右上角 "打开菜单"——右下角"定制"
3. 将HttpFox拖到导航栏
或快捷键:ctrl + shift + F2
HTTP请求头(Request Header)
一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成
HTTP客户请求 |
说明 | 实例 | ||
请求行 | 请求方法 请求网址 协议 | GET / HTTP/1.1 | ||
消息头 |
Host |
对应网址URL中的Web名称和端口号 |
Host www.baidu.com |
|
User-Agent |
是客户浏览器名称 |
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 |
||
Accept |
MIME文件格式 MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准 MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据 |
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 | ||
Accept-Charset | 浏览器可以接受的字符编码 | |||
Accept-Language | 指出浏览器可以接受的语言种类 | Accept-Language zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 | ||
Accept-Encoding |
指出浏览器可以接受的编码方式 编码方式不同于文件格式,它是为了压缩文件并加速文件传递速度。浏览器在接收到Web响应之后先解码,然后再检查文件格式 |
Accept-Encoding gzip,deflate,br | ||
Cookie | 浏览器用这个属性向服务器发送Cookie
Cookie是在浏览器中寄存的小型数据体,它可以记载和服务器相关的用户信息,也可以用来实现会话功能 |
Cookie | ||
Connection | 告诉服务器是否可以维持固定的HTTP连接
HTTP/1.1使用Keep-Alive为默认值,当浏览器需要多个文件时(比如一个HTML文件和相关的图形文件),不需要每次都建立连接 |
|||
请求数据 | 附加在请求后的文本或二进制文件,只有请求方式为post时,实体才会有数据(请求参数) |
HTTP响应头(Response Header)
HTTP响应由三个部分组成,分别是:状态行、消息报头、响应正文。
服务器响应头 | 说明 | 实例 | ||
状态行 | 服务器HTTP协议的版本 响应状态代码 状态代码的文本描述 | HTTP/1.1 200 OK | ||
消息报头 | server | 服务器应用程序软件的名称和版本 | bfe/1.0.8.18 | |
Date | 原始服务器消息发出的时间 | Thu, 08 Dec 2016 09:34:40 GMT | ||
Content-Type | 返回内容的MIME类型 | text/html | ||
Content-Length | 响应体的长度 | 0 | ||
Accept-Ranges | 表明服务器是否支持指定范围请求及哪种类型的分段请求 | bytes | ||
Cache-Control | 告诉所有的缓存机制是否可以缓存及哪种类型 | private, max-age=0, no-cache | ||
ETag | 请求变量的实体标签的当前值 | "4280832337" | ||
Expires | 响应过期的日期和时间 | Thu, 08 Dec 2016 09:34:40 GMT | ||
Last-Modified | 请求资源的最后修改时间 | Fri, 23 Oct 2009 08:06:04 GMT | ||
Pragma | 包括实现特定的指令,它可应用到响应链上的任何接收方 | no-cache | ||
Transfer-Encoding | 文件传输编码 | chunked | ||
响应正文 |
响应状态代码
状态码 | 说明 | 常用 |
1XX | 指示信息--表示请求已接收,继续处理 | |
2XX | 成功--表示请求已被成功接收、理解、接受 | 200 OK:客户端请求成功 |
3XX | 重定向--要完成请求必须进行更进一步的操作。 | |
4XX | 客户端错误--请求有语法错误或请求无法实现。 | 400 Bad Request:客户端请求有语法错误,不能被服务器所理解。 |
401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。 | ||
403 Forbidden:服务器收到请求,但是拒绝提供服务。 | ||
404 Not Found:请求资源不存在,例:输入了错误的URL。 | ||
5XX | 服务器端错误--服务器未能实现合法的请求 | 500 Internal Server Error:服务器发生不可预期的错误。 |
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1 200 OK(CRLF)。 |
参考文章
[1] HTTP Header 详解
[2] request请求数据包组成:请求行(request line)消息头(header)实体内容(Body)