如上图所示:HTTP Headers主要分为三大类:
- General Headers
- Response Headers
- Request Header.
General Headers
首部字段名 | 说明 |
---|---|
Request URL | 请求地址 |
Request Method | 请求方式(GET/POST/HEAD/PUT/PATCH/DELETE) |
Status Code | 状态码(304 代表未修改) |
Remote Address | 远程主机地址和端口 |
Response Headers
首部字段名 | 说明 |
---|---|
Cache Control | 控制缓存的行为 |
Connection | keep alive:长连接,close:断开连接 |
Date | 相应的日期时间 |
Expires | 实体的过期时间 |
Age | 推算资源的创建时间 |
Proxy-Authenticate | 代理服务器对客户端的认证信息 |
WWW-Authenticate | 服务器对客户端的认证信息 |
ETag | 告知客户端,资源被缓存时的唯一标识 |
Server | 代理服务器版本,如nginx/apache |
Set- Cookies | 告知客户端的各种信息 |
Content-Encoding | 实体主体的适用编码方式,如gzip |
Content-Type | 如Content-Type: text/html; charset=utf-8 |
Strict-Transport-Security | 告知客户端多长时间缓存HTTPS信息 |
X-Content-Type-Options | nosniff |
X-Frame-Options | DENY/SAMEORIGIN,防止点击劫持 |
X-Request-Id | 客户端请求id,随机生成的唯一id |
X-XSS-Protection | 控制浏览器防护机制的开关,0或1,针对XSS(跨站脚本攻击)的对策 |
Request Headers
首部字段名 | 说明 |
---|---|
Accept | 可处理的媒体类型 |
Accept-Charset | 可接受字符集 |
Accept-Encoding | 可接受的编码方式 |
Accept-Language | 可接受的语言 |
Cache-Control | 控制缓存的行为 |
Connection | 连接状态 |
Cookies | Cookie信息 |
Host | 请求资源所在服务器 |
If-Matched | 比较实体标识,实体是否改变,比较ETag,如果一致,返回200 |
If-None-Match | 比较实体标记,比较ETag,如不一致,可处理该请求 |
User-Agent | HTTP客户端应用信息 |
If-Modified-Since | 指定日期的时间后,资源发生了变化,则接受请求 |
Authencation | Web验证信息 |
Max-Forwards | 最大转发数,每次转发数值减1,HTTP请求可能经过多个代理服务器,数值变0时返回响应。 |
Range | 实体的字节范围请求 |
Content-Type | 实体媒体类型 |
Content-Length | 实体大小,单位:字节 |
Content-MD5 | 实体报文摘要 |
Cache Control
缓存请求指令:no-cache / no-store / max-age= [ seconds ] / max-stale / min-fresh / no-transform / only-if-cached / cache-extension
缓存响应指令:public / private/no-cache / no-store / no-transform / must-revalidate / proxy-revalidate / max-age / s-maxage / cache-extension
public 表示其他用户也可以利用缓存
private 表示特定用户才可以利用缓存
no-cache 防止从缓存中返回过期资源
no-store 暗示请求或者响应中包含机密信息
max-stale 缓存资源即使过期,也照常接收
max-age 服务器端:资源保存为缓存的最大时间。客户端:指定缓存时间。当max-age为0时,缓存服务器通常需要将请求转发给源服务器
Connection
管理持久连接 Keep-Alive/Closed
Via
追踪客户端和服务器之间的请求和响应报文的传输路径
Referer
告知服务器请求的原始资源的URI
ETag
分为强ETag/弱ETag,强ETag:“usagi-1234”,无论资源多么细微的改变都会改变值。弱ETag:W/“usage-1234”,只用于提示资源是否相同。
Content-Encoding
实体编码方式,gzip / compress / deflate / identity
Cookies
首部字段名 | 说明 | 首部类型 |
---|---|---|
Set-Cookies | 服务器端返回的首部,管理cookies信息 | 响应首部 |
Cookies | 服务器接收到的Cookies | 请求首部 |
- Set-Cookies字段属性
属性 | 说明 |
---|---|
NAME=VALUE | 赋予cookie的名称和其值 |
expires=Date | Cookie有效期 |
path=PATH | 服务器上文件目录作为cookie的适用对象 |
domain=域名 | 作为cookie适用对象的域名 |
Secure | 仅在使用HTTPS安全通信时才会发送Cookie |
HttpOnly | 使Cookie不能被JavaScript脚本访问 |