HTTP响应数据格式
HTTP响应数据举例:
HTTP/1.1 200 OK
Server: Tengine
Content-Type: text/html
Transfer-Encoding: chunked...
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
响应数据分为了三部分:
-
响应行:
- 响应数据的第一行. 其中HTTP1.1表示协议版本, 200表示响应状态码, OK表示状态码描述
- 后面我们会在常见的响应状态码中专门细讲响应状态码
- 响应数据的第一行. 其中HTTP1.1表示协议版本, 200表示响应状态码, OK表示状态码描述
-
响应头:
- 第二行开始,格式为key: value
-
响应体:
- 最后一部分. 存放响应数据
- 注意: 响应体和响应头是间隔了一个空行的, 这个空行必须要有, 这个空行就是划分我们的响应头和响应体的分割线
- 注意: 其实不仅仅是响应体和响应头之间是有空行的, 我们的请求头和请求体之间也是有空格的 ( 但是这个时候注意: 并不是所有的请求方式都是有请求体的, 目前我们学过的所有请求之中只有post方式是有请求体的, 所以也就是说明post方式的请求头和请求体之间是有一个空行的 )
- 注意: 响应体和响应头是间隔了一个空行的, 这个空行必须要有, 这个空行就是划分我们的响应头和响应体的分割线
- 最后一部分. 存放响应数据
常见的HTTP响应头:
-
Content-Type: 表示响应的内容的类型, 如: text/html, image/jpeg
-
Content-Length: 表示响应内容的长度(字节数)
-
Content-Encoding: 表示该响应压缩算法(也就是压缩格式): 例如: gzip
-
Cache-Control: 指示客户端该如何缓存, 例如: max-age=300(表示最多可以缓存300秒)