HTTP 是一个文本格式的协议.

Request由首行,请求报头(header),空行,请求正文(body)。

请求行有:Method URL Version.信息

请求报头由多行key:value组成

响应由首行,响应头,,空行,正文

首行有版本号 状态码 状态码描述

fiddler的用法:

从网上下载fiddler

安装好之后,访问一个网页(例如百度上的一个网页),这时候就会返回

抓包的数据

首先我们用fiddler研究get方法

 HTTP 协议与利用fiddler研究方法(method)_xml

选中一条观察详细结果

GET https://www.sogou.com/ HTTP/1.1

Host: www.sogou.com

Connection: keep-alive

Cache-Control: max-age=0

sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"sec-ch-ua-mobile: ?0

Upgrade-Insecure-Requests: 1

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36

Accept:

text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,imag

e/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9

Sec-Fetch-Site: none

Sec-Fetch-Mode: navigate

Sec-Fetch-User: ?1

Sec-Fetch-Dest: document

Accept-Encoding: gzip, deflate, br

Accept-Language: zh-CN,zh;q=0.9,en;q=0.8

Cookie: SUID=19AA8B7B6E1CA00A000000005F9A2F76; SUV=1603940214073598;

pgv_pvi=2668946432; usid=dSCf7rQCZRKIwksQ; CXID=4E2782F970F4344A90D6ED6240646C87; ssuid=8088681888; wuid=AAG3v2WvMgAAAAqgFXQrvAAAkwA=; IPLOC=CN6101;

ABTEST=0|1620624968|v17; cd=1620907362&1c2f143be7a26fba5e494f96ebd8f163;

browerV=3; osV=1; sw_uuid=5799772160;

ad=@c$ookllll2kHAPdlllllpjL341llllltYvGDlllll9llllllylll5@@@@@@@@@@;

SNUID=D6B644B4CECB0AF639BBE267CF3AB1AD; taspeed=taspeedexist; sst0=13;

ld=Lkllllllll2kmmNTlllllpjM@rwlllllNSzaekllllGllllljllll5@@@@@@@@@@

接下来我们来研究post方法

 HTTP 协议与利用fiddler研究方法(method)_HTTP_02

POST https://v.bitedu.vip/tms/login HTTP/1.1

Host: v.bitedu.vip

Connection: keep-alive

Content-Length: 105

sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"

sec-ch-ua-mobile: ?0

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36

Access-Control-Allow-Methods: PUT,POST,GET,DELETE,OPTIONS

Content-Type: application/json;charset=UTF-8

Access-Control-Allow-Origin: *

Accept: application/json, text/plain, */*

Access-Control-Allow-Headers: Content-Type, Content-Length, Authorization,

Accept, X-Requested-With , yourHeaderFeild

Origin: https://v.bitedu.vip

Sec-Fetch-Site: same-origin

Sec-Fetch-Mode: cors

Sec-Fetch-Dest: empty

Referer: https://v.bitedu.vip/login

Accept-Encoding: gzip, deflate, br

Accept-Language: zh-CN,zh;q=0.9,en;q=0.8

Cookie: username=123456789; rememberMe=true

POST请求的特点

首行的第一部分为 POST

URL 的 query string 一般为空 (也可以不为空)

header 部分有若干个键值对结构.

body 部分一般不为空. body 内的数据格式通过 header 中的 Content-Type 指定. body 的长度由 header 中的 Content-Length 指定.

其他方法

PUT 与 POST 相似,只是具有幂等特性,一般用于更新

DELETE 删除服务器指定资源

OPTIONS 返回服务器所支持的请求方法

HEAD 类似于GET,只不过响应体不返回,只返回响应头TRACE 回显服务器端收到的请求,测试的时候会用到这个CONNECT 预留,暂无使用