网站首页 > 博客文章 正文
本文节选自霍格沃兹测试开发学社内部教材
HTTP 协议是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP 是万维网的数据通信的基础。客户端向服务端发送 HTTP 请求,服务端则会在响应中返回所请求的数据。了解了 HTTP 协议,才能对接口测试进行更深入的学习。
环境安装准备
HTTP 请求报文和响应报文都是由三个部分组成的:
- 开始行:请求报文中叫请求行,响应报文中叫状态行
- 首部行:用来说明浏览器服务器或报文主体的一些信息
- 实体主体:请求报文中一般不使用,响应报文中可能也没有
请求报文
- requests 报文结构
- 请求行:请求方法、请求资源的 URL、HTTP 版本信息
- 首部行:请求行的下一行一般为首部行的开始,包括主机域名、连接信息、用户代理等等信息
- 实体主体:一般不使用
请求信息的示例
> GET /uploads/user/avatar/31438/8216a3.jpg\u0021md HTTP/1.1
> Host: testerhome.com
> Accept-Encoding: deflate, gzip
> Connection: keep-alive
> Pragma: no-cache
> Cache-Control: no-cache
> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0)\
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36
> Sec-Fetch-Dest: image
> Accept: image/webp,image/apng,image/*,*/*;q=0.8
> Sec-Fetch-Site: same-origin
> Sec-Fetch-Mode: no-cors
> Referer: https://testerhome.com/
> Accept-Language: en,zh-CN;q=0.9,zh;q=0.8
> Cookie: user_id=bnVsbA%3D%3D--69ec4bae7d601a6036395dbe51d1d2ffcd6fa592; \
_homeland_session=7Sukl%2FrozWDlCgKard4LDAggLFboqpOh2O2tuEDrKAJQsGcBr%2BEo\
5YfUSQ%2BzCnQjz2YqVdLJZynbXI7rd96gawXmb%2FckmcX0VRzKeJUzg%2FddCkdLxHrPxOwD\
BugHvSRINOfLKfJSrX%2F7u%2BJqx8ZJ%2FUzMrdBw9PqmLTgKp9qG2hVRMmFvRdLoAg3Hj0WQ\
XoYmEkMwlfG%2BJTFpE2D8IdyN49iAkEcCu8mY%2FwYUXg%2FNdYyLZ29AEkdLU%2BFhU1GIXZ\
yYnBIfB4B34Z%2BuwST1%2F2wZ0Lr0YYaVC7MmYg%3D%3D--5Lp2FdyHJUsrhoaz--iUv%2Bp1\
4%2Bz76Qteb%2FsjsKHQ%3D%3D; _ga=GA1.2.877690763.1584004389; _gid=GA1.2.135\
846535.1584004389; _gat=1
>
请求报文的方法
常用的请求报文的方法为 GET、POST。会在后面的章节中进行详述。
响应报文
1、状态行:HTTP 版本、状态码、解释状态码短语
2、首部行:服务器信息、时间、内容类型、内容长度等等
3、实体主体
响应信息的示例
< HTTP/1.1 200 OK
< Server: nginx/1.10.2
< Date: Thu, 12 Mar 2020 09:13:44 GMT
< Content-Type: image/png
< Content-Length: 11390
< Last-Modified: Sat, 27 Jan 2018 13:51:30 GMT
< Connection: keep-alive
< ETag: "5a6c83e2-2c7e"
< Accept-Ranges: bytes
<
状态码
状态码有 5 个大类,由第一位数字进行区分,每个大类下面还有不同的子类,每种子类的长度都是 3 位,都代表一个状态码,即一种类型的返回的信息。
- 1xx 表示通知信息,如请求收到了或正在进行处理
- 2xx 表示成功,如接受或知道了
- 3xx 表示重定向,如果要完成请求还必须才去进一步的行动
- 4xx 表示客户端的差错
- 5xx 表示服务器的差错
更多学习资料戳下方!!!
猜你喜欢
- 2024-09-27 Http超文本传输协议(http超文本传输协议是什么)
- 2024-09-27 面试必备(背)--计算机网络八股文系列
- 2024-09-27 理解HTTP协议(http协议有几种方法)
- 2024-09-27 golang web从入门到精通 查看GET、POST请求、响应、状态码
- 2024-09-27 APP网络优化相关问题(手机网络优化软件有哪些)
- 2024-09-27 你真的知道 HTTP OPTIONS 方法的作用吗?
- 2024-09-27 HTTP协议浅谈(http协议上报)
- 2024-09-27 十分钟能看清-HTTP详解-请求、响应、缓存
- 2024-09-27 关于H5语种头请求的问题排查(什么是h5语言)
- 2024-09-27 《奇葩说》里到底谁最“奇葩”?(奇葩说中的奇葩)
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)