
Http Headers
如上图所示: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脚本访问 |