Http报文包含内容 :
报文首部
空行CRLF
报文主体
请求报文
方法+URI+ 协议 版本
请求首部字段
内容实体
其中:请求方法:
GET 请求
POST 实体传输
PUT 上传
HEAD 与PUT一样,但是只不返回报文主体内容。
DELETE 删除文件
OPTIONS 查询针对资源的方法
TRACE 请求通信环
响应报文
协议版本+状态码+状态码原因
响应首部字段
响应实体主体
其中:状态码
1XX 信息性状态码
2XX 成功状态码 200 OK
3XX 重定向状态码 304 状态码返回时,不包含任何响应主体部分。
4XX 客户端错误状态码 404 not found
5XX 服务器错误状态码 500 服务器错误
HTTP是一种无状态协议
不保存通信状态进行保存。请求与响应无持久性处理。
Cookie暂时缓解了这种无状态。
HTTP首部字段(共四大类):
通用
请求
响应
实体
其中:
通用首部字段
Cache-control 缓存工作机制
Connection 代理或not
Data 时间
Via 传输路径。
请求首部字段
Accept: 客户端能接受的媒体类型 如 text/html
Accept-language: 客户端能接受的自然语言集 如 zh-cn
Authorization: 客户端的认证信息
如Authorization: Basic dWVub3N1bjpwYXNzd29yZA==
(注:Basic 后跟的是认证信息的base64码)
Host: 请求资源所处的互联网主机名及端口号 (必须有)
Referer: 给出服务器请求的原始URI
User-Agent: 用户代理,也就是浏览器的名称。
响应首部字段
Location: 可将响应方引到某个与URI不同的资源位置
Server: 告知当前客户端的服务器端的http服务器应用程序信息。
实体首部字段
Allow: 通知客户端所能支持的http方法,当服务器收到不支持的Http方法时,即以状态码405返回。
Content-Length : 实体大小
Content-Type: 实体的媒体类型。
扩展http头部:
X-Forwarded-For: 请求端真实IP
如: X-Forwarded-For: client, proxy1, proxy2
最开始的是离服务端最远的设备 IP,然后是每一级代理设备的 IP
自定义首部