1 响应报文
--- 响应行/状态行 ---
HTTP/1.1 200 OK # HTTP协议版本 状态码 状态描述
--- 响应头 ---
Server: Tengine # 服务器名称
Content-Type: text/html; charset=UTF-8 # 内容类型
Transfer-Encoding: chunked # 发送给客户端内容不确定内容长度,发送结束的标记是0\r\n; Content-Length表示服务端确定发送给客户端的内容大小,但是二者只能用其一。
Connection: keep-alive # 和客户端保持长连接
Date: Fri, 23 Nov 2018 02:01:05 GMT # 服务端的响应时间
--- 空行 ---
--- 响应体 ---
<!DOCTYPE html><html lang=“en”> …</html> # 响应给客户端的数据
2 HTTP状态码
- 1xx: 提示信息, 表示现在是协议处理的中间阶段, 还有后续操作
- 2xx: 成功, 报文已经收到并被正确处理
- 200: OK, 请求成功
- 204: NO CONTENT, 成功处理请求, 但响应报文中body为空
- 200: OK, 请求成功
- 3xx: 重定向, 资源位置变动
- 301: Move Permanently, 请求的资源不存在, 需要改用新的URL再次访问
- 302: Found, 请求的资源还在, 但暂时需要用另一个URL访问
- 304: Not Modified, 请求的资源未修改, 让客户端自己找缓存文件
- 301: Move Permanently, 请求的资源不存在, 需要改用新的URL再次访问
- 4xx: 客户端请求报文有误
- 400: Bad Request, 客户端请求报文有错误
- 401: Unauthorized, 客户端身份认证不通过
- 403: Forbiden, 拒绝执行客户端的请求
- 404: Not Found, 找不到客户端请求的资源
- 405: Method Not Allowed, 请求方法不被允许
- 400: Bad Request, 客户端请求报文有错误
5xx: 服务器错误
Content-length: 数据长度
- Content-type: 告诉客户端本次数据的格式, 如image/png
- Content-encoding: 返回的数据使用的压缩格式, 如gzip
- Date: 服务器的响应时间
- Server: web服务器的名称和版本号