HTTTP协议
request与response
1.request:
它有三部分组成:
- request: line
- request: headers
- request: body
可使用fiddle ,查看RAW,原始数据
GET https://i.cnblogs.com/api/posts/list?p=1&cid=&tid HTTP/1.1
Host: i.cnblogs.com
Connection: keep-alive
Accept: application/json, text/plain, */*
Sec-Fetch-Dest: empty
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Referer: https://i.cnblogs.com/posts
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: __gads=ID=d0d2cfd1a6802a35:T=1640016269:S=ALNI_MZNMrQdoOVafoPXWxaNf_6S0YwebA; UM_distinctid=17e0f7b2ff***************
------body:上面有一个空行
- request: line
第一行就是,有三部分,GET、中间地址、HTTP协议版本
- request: headers
第二行后面都是,主要有以下几个
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0
一般都要有,它告诉服务器一些配制信息。而服务器用它判断是不是同一用户。
例如,用IE浏览器访问过,再用chrom访问时,换了访问用户,服务器要不拒绝,要不就重新发全部内容。(防止爬虫,检测是不是正常用户,还是程序访问)
Content-Type:
客户端告诉服务器,boby中的数据类型。
Accept-Encoding: gzip, deflate, br
告诉服务器,本地支持的解码方式
token和author----也可能用到
- request: body
在数据包中,第一个空行后面的才是
可以为空,如果有,必须指定(Content-Type)
2.response:
同样有三部分组成:
- response: line
- response: headers
- response: body
HTTP/1.1 200 OK
Bdpagetype: 3
Bdqid: 0xc25827cb4
Cache-Control: private
Ckpacknum: 2
Ckrndstr: 6001123cb4
Connection: keep-alive
Content-Encoding: br
Content-Type: text/html;charset=utf-8
Date: Wed, 23 Feb 2022 17:45:33 GMT
P3p: CP=" OTI DSP COR IVA OUR IND COM "
Server: BWS/1.1
Set-Cookie: delPer=0; path=/; domain=.baidu.com
Set-Cookie: BD_CK_SAM=1;path=/
Set-Cookie: PSINO=5; domain=.baidu.com; path=/
Set-Cookie: BDSVRTM=19; path=/
Strict-Transport-Security: max-age=172800
Traceid: 1645638386497789189300
Vary: Accept-Encoding
X-Frame-Options: sameorigin
X-Ua-Compatible: IE=Edge,chrome=1
Transfer-Encoding: chunked
- request: line
第一行就是,HTTP/1.1 200 OK
对应的是:协议版本----响应代码----
响应代码有3位数,分5类
1** 不用管
2** 只表明通信成功,具体业务不管
3** 重定向,也表示成功,但服务器会转给其它服务器处理
4** 客户错误
5** 服务器错误,PS:一般对于测试人员,是我们自己的脚本有问题,除非服务器内存爆满出错。
- request: headers
不介绍了
- request: body
这就是我们的网页主体
----------------------------
有时间再了解一下:Apahe Jmeter
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)