HTTP请求是指从客户端到服务器端的请求消息。HTTP请求主要由三部分构成,请求行、请求头(headers)、body(请求数据)。
上图是笔者用Charles抓包工具抓的一个浏览器请求,当然用谷歌浏览器F12也是可以的。通过抓包工具我们可以看到当我们向服务器请求时,发送了很多数据给服务器,但主要还是三部分:状态行、请求头(headers)、body(数据)。
当我们向服务器发送一个HTTP请求时,服务器一般都会给出响应。HTTP响应主要由三部分构成,响应行、响应头(headers)、响应正文。
HTTP响应我们提到状态码这个概念,状态码一般以1/2/3/4/5 开头,如下所示:
1xx: 信息响应类,表示接收到请求并且继续处理
2xx: 处理成功响应类,表示动作被成功接收、理解和接受
3xx: 重定向响应类,为了完成指定的动作,必须接受进一步处理
4xx: 客户端错误,客户请求包含语法错误或者是不能正确执行
5xx: 服务端错误,服务器不能正确执行一个正确的请求
常见状态码如下所示:
1xx:信息
状态码| 描述
:--:|:--:|
100 Continue |服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。
101 Switching Protocols |服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。
2xx:信息
状态码|描述
:--:|:--:|
200 OK |请求成功(其后是对GET和POST请求的应答文档。)
201 Created |请求被创建完成,同时新的资源被创建。
202 Accepted |供处理的请求已被接受,但是处理未完成。
3xx:信息
状态码 |描述
:--:|:--:|
300 Multiple Choices |多重选择。链接列表。用户可以选择某链接到达目的地。最多允许五个地址。
301 Moved Permanently |所请求的页面已经转移至新的url。
302 Found |所请求的页面已经临时转移至新的url。
303 See Other |所请求的页面可在别的url下被找到。
304 Not Modified |未按预期修改文档。客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。
4xx:信息
状态码 |描述
:--:|:--:|
400 Bad Request |服务器未能理解请求。
401 Unauthorized |被请求的页面需要用户名和密码。
402 Payment Required |此代码尚无法使用。
403 Forbidden |对被请求页面的访问被禁止。
404 Not Found |服务器无法找到被请求的页面。
5xx:信息
状态码 |描述
:--:|:--:|
500 Internal Server Error |请求未完成。服务器遇到不可预知的情况。
欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560
原文:https://www.cnblogs.com/suim1218/p/10563243.html