写点什么

软件测试 | 什么是 HTTP

  • 2023-02-21
    北京
  • 本文字数:1224 字

    阅读完需:约 4 分钟

1.HTTP 定义

HTTP 是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP 是万维网的数据通信的基础。客户端向服务器发送 HTTP 请求,服务端则会在响应中返回所请求的数据。了解了 HTTP,才能对接口测试进行更深入学习。

2.HTTP 报文结构

HTTP 请求报文和响应报文都是由 3 部分组织。


开始行:请求报文中叫请求行,响应报文中叫状态行。


首部行:用来说明服务器或报文主体的一些信息。


实体主体:请求报文中一般不使用,响应报文中也没有。


(1)请求报文

请求(requests)报文结构如图 6-23 所示。


1)请求行:请求方法、请求资源的 URL、HTTP 版本等信息。


2)首部行:包括主机域名、连接信息、用户代理等信息。


3)实体主体:一般不使用。


请求信息的实例:


> GET  /uploads/user/avatar/31438/8216a3.jpg\u0021md HTTP/1.1> Host: testerhome.com> Accept-Encoding:deflate,gzip> Connection: keep-alive> 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-orgin> 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%2FrozWDlCgKard4LDAggLFboqpOh202tuEDrKAJQsGcBr%2BEo\5YfUSQ%2BzCnQjz2YqVdLJZynbXI7rd96gawXmb%2FckmcX0VRzKeJUzg%2FddCkdLxHrPxOwD\BugHvSRINOfLKfJSrX%2F7u%2BJqx8zJ%2FUzMrdBw9PqmLTgKp9qG2hVRMmFvRdLoAg3HjOWQ\XoYmEkMwlfG%2BJTFpE2D8IdyN49iAKEcCu8mY%2fWYUXg%2FNdYyLZ29AEkdLU%2BFhUlGIXZ\yYnBIfB4B34z%2BuwST1%2F2WzOLr0YYaVC7MmYg%3D%3D--5Lp2FdyHJUsrhoaz--iUv%2Bpl\4%2Bz76Qteb%2FsjsKHQ%3D%3D; _ga=GAl.2.877690763.1584004389; _gid=GAl.2.135\846535.1584004389; _gat=1>
复制代码


请求报文发方法和意义如表 6-4 所示。



常用的请求报文的方法为 GET 和 POST。


(2)响应报文(见图 6-24)


1)状态行:HTTP 版本、状态码、解释状态码的短语等信息。


2)首部行:服务器信息、时间、内容类型、内容长度等信息。


3)实体主体:服务器发送给客户端的内容。响应信息的示例如下:


< HTTP/1.1 200 OK< Server: nginx/1.10.2< Data: 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<
复制代码


(3)状态码


状态码由三位数字组成,第一位数字定义了状态码的类型,共有 5 大类,如下。


1)1xx 表示通知信息,如请求收到了或正在进行处理。


2)2xx 表示成功,如接受或知道了。


3)3xx 表示重定向,需要进一步的操作以完成请求。


4)4xx 表示客户端的差错。


5)5xx 表示服务器的差错。


搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核

用户头像

社区:ceshiren.com 2022-08-29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
软件测试 | 什么是HTTP_测试_测吧(北京)科技有限公司_InfoQ写作社区