继续来学习HTTP协议的理论部分,后面我会搭建环境来实战练习get和post请求,并且讲解每一个字段的含义。为什么要搭建环境呢,因为后面要学习cookie和session。这篇来学习下HTTP响应的理论部分,还是按照HTTP消息的四个部分去展开。
1.响应起始行
这一行一般看到消息状态码,例如200 ok 这样的字段。有时候前面还有http/1.1这个协议版本。
2.状态码
上面说到了状态码,在响应中有一些特定含义的数字类型的状态码,我们需要了解。响应状态码由3位数字组成,第一位数字定义了响应类,后面两个是一个整体。例如404,4表示客户端错误,04是一个整体,拼接起来就是404表示请求的资源在服务器上找不到,肯定是客户端的请求地址写错了。
1XX | 信息提示,表示请求收到,等待处理结果。不常见 |
2XX | 表示成功,表示请求收到,服务器接受并响应了。常见200 |
3XX | 重定向,表示必须采取进一步动作才能完成请求,常见301 |
4XX | 客户端错误,表示非法请求或者请求中有错误的语法,常见404 |
5XX | 服务端的错误,服务器内部错误,一般都是代码错误,常见500 |
关于响应状态码,百度百科专门介绍这些不同状态码的含义。
https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin
3.响应头
响应头字段允许服务器传递有关无法放入状态行的响应的其他信息。 这些头字段提供有关服务器的信息以及有关请求URI标识的资源的进一步访问。常见的响应头字段有以下几个
Cache-Control
Content-Type
Expires
Server
Transfer-Encoding
Accept-Ranges
ETag
Location
Proxy-Authenticate
Retry-After
Vary
WWW-Authenticate
除了这些常见的响应头字段,每个公司可以添加自己的字段。
4.响应正文
响应正文主要有html,图片,xml,json等,现在接口测试中一般都是响应正文内容为json。我们浏览器网页点击的请求,一般都是html文件,下面看看几个html内容的响应。
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
<title>404 Not Found</title>
</head>
<body>
<h1>Not Found</h1>
<p>The requested URL /t.html was not found on this server.</p>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
<title>400 Bad Request</title>
</head>
<body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.</p>
<p>The request line contained invalid characters following the protocol string.</p>
</body>
</html>