概述
HTTP报文分为请求报文和响应报文。
HTTP响应报文格式
响应行\r\n
响应头\r\n
空行\r\n
响应体\r\n
原始报文
----响应行(状态行) --------HTTP/1.1200OK#协议版本 状态码 状态描述----响应头----------Accept-Ranges: bytes#表明服务器是否支持指定范围的请求,比如bytes,表明支持字节请求Content-Encoding: gzip#编码方式Content-Length: 1966#服务器发送给客户端程序的数据确定长度,内容长度这两个选项只能二选一Content-Type: image/x-icon#务器发送给浏览器的内容类型及编码格式Date: Thu, 24Feb202206:58:07GMT#服务器的时间Etag: "423e-5bd257db4e500"#请求变量的实体标签的当前值Last-Modified: Wed, 10Mar202102:33:24GMT# 请求资源的最后修改时间Server: Apache#服务器的名称Vary: Accept-Encoding,User-Agent-----空行----\r\n-----响应体就是真正意义上给浏览器解析使用的数据----网页数据
常见状态代码、状态描述
- 200 OK:客户端请求成功。
- 400 Bad Request:客户端请求有语法错误,不能被服务器所理解。
- 401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。
- 403 Forbidden:服务器收到请求,但是拒绝提供服务。
- 404 Not Found:请求资源不存在,举个例子:输入了错误的URL。
- 500 Internal Server Error:服务器发生不可预期的错误。
- 503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1 200 OK(CRLF)
状态码 |
说明 |
200 |
请求成功 |
307 |
重定向 |
400 |
错误的请求,请求地址或者参数有误 |
404 |
请求资源在服务器不存在 |
500 |
服务器内部源代码出现错误 |