Fiddler 是位于客户端和服务器端的 HTTP 代理 目前最常用的 http 抓包工具之一 功能非常强大,是 Web 调试的利器
场景使用场景
编写程序部署到 Web 服务器 Web 服务器运行在服务器上,绑定 ip 地址并监听某端口,接收和处理 http 请求 客户端通过 http 协议获取服务器上的网页、文档等
Hyper Text Transfer Protocol(超文本传输协议) 用于从万维网服务器传输超文本到本地浏览器的传送协议 HTTP 协议是基于 TCP 的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输 HTML 页面的内容。默认端口是 80 http 是基于请求与响应模式的、无状态的、应用层的协议
完整的 http 协议包含请求和响应两块内容
HTTP 请求报文主要由请求行、请求头部、空一行、请求正文(请求体)4 部分组成
如下是 fiddler 某个会话的请求报文
请求方法 | 备注 |
---|---|
GET | 请求资源 |
POST | 提交资源 |
Head | 获取响应头 |
PUT | 替换资源 |
DELETE | 删除资源 |
OPTIONS | 允许客户端查看服务器的性能 |
TRACE | 回显服务器收到的请求,用于测试或诊断 |
Uniform Resource Locator:统一资源定位符,用于描述网上的资源 格式:schema://host[:port#]/path/.../[?query-string]
scheme:协议,如 http,https,ftp 等 host:域名或者 IP 地址 port:端口 path:资源路径 query-string:发送的参数
如:https://www.baidu.com/s?wd=柠檬班
请求头 | 描述 |
---|---|
Host | 主机 ip 地址或域名 |
User-Agent | 客户端相关信息,如果操作系统、浏览器等信息 |
Accept | 指定客户端接收信息类型,如:image/jpg,text/html,application/json |
Accept-Charset | 客户端接受的字符集,如 gb2312、iso-8859-1 |
Accept-Encoding | 可接受的内容编码,如 gzip |
Accept-Language | 接受的语言,如 Accept-Language:zh-cn |
Authorization | 客户端提供给服务端,进行权限认证的信息 |
Cookie | 携带的 cookie 信息 |
Referer | 当前文档的 URL,即从哪个链接过来的 |
Content-Type | 请求体内容类型,如 Content-Type:application/x-www-form-urlencoded |
Content-Length | 数据长度 |
Cache-Control | 缓存机制,如 Cache-Control:no-cache |
Pragma | 防止页面被缓存,和 Cache-Control:no-cache 作用一样 |
HTTP 响应报文主要由状态行、消息报头、空一行、响应正文 4 部分组成
如下是 fiddler 某个会话的响应报文
用以表示网页服务器 HTTP 响应状态的 3 位数字代码
状态码 | 描述 |
---|---|
1XX | 提示信息,请求被成功接收 |
2XX | 成功,请求被成功处理 200 |
3XX | 重定向相关 304 |
4XX | 客户端错误 404 |
5XX | 服务器端错误 500 |
响应头 | 描述 |
---|---|
Server | HTTP 服务器的软件信息 |
Date | 响应报文的时间 |
Expires | 指定缓存过期时间 |
Set-Cookie | 设置 Cookie |
Last-Modified | 资源最后修改时间 |
Content-Type | 响应的类型和字符集,如:Content-Type: text/html; charset=utf-8 |
Content-Length | 内容长度 |
Connection | 如 Keep-Alive,表示保持 tcp 连接不关闭,不会永久保持连接,服务器可设置 |
Location | 指明重定向的位置,新的 URL 地址,如 304 的情况 |
格式 http://host:port/path?xx=aa&yy=bb 如: http://120.78.128.25:8080/futureloan/mvc/api/member/register?mobilephone=13555555528&pwd=123456 说明:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。