请求首部字段
- If-Math 与 Etag 对应
只有当If-Match的字段值跟ETag值匹配一致时,服务器才会接受请求
还可以使用星号(*)指定If-Match的字段值。针对这种情况,服务器将会忽略ETag的值,只要资源存在就处理请求 - If-Modified-Since 与 Last-Modified 对应
如果在If-Modified-Since字段指定的日期时间后,资源发生了更新,服务器会接受请求;否则304 - If-None-Math 与 Etag 对应,与If-Math相反;
只有在If-None-Match的字段值与ETag值不一致时,可处理该请求。 - If-Rang的值若和Etag或更新时间一致,则作为范围请求处理;否则返回全部资源;
优点:如果没有If-Range的话,面对range类资源,服务器资源没过期的话,当成正常的处理;一旦服务器资源过期了,则整个资源包含分段资源是无意义的,第一次请求服务器会响应412要求客户端重新请求,所以就花了两倍的请求量。 - If-Unmodified-Since 与 If-Modified 字段的意思恰好相反,意思是在指定的请求资源只有在字段值内指定的日期时间之后,未发生更新的情况下,才能处理请求
- Max-Forwards 最大转发次数,当转发次数是0时不再转发而是直接响应
- Referer 请求是在哪个页面发起的
- TE 客户端能够接受的传输编码 TE:gzip, deflate;q=0.5 (与Transfer-Encoding是一组,不同的是:TE是逐跳头部,Transfer-Encoding是端到端头部即在整个传输过程中有效)
- User-Agent 如果经过代理,中间也很可能加上用户代理服务器名称
响应首部字段
- Accept-Range 能处理范围请求-bytes 不能处理范围请求-none
- Age 源服务器在多久创建了响应。比如缓存服务器的Age值表示这个缓存实体从产生到现在经过了多少秒了
- Etag 实体标识
- Location 重定向的目标URI,一般都是配合3XX重定向使用
- Retry-After 制定客户端过多久或者指定具体时间之后再来访问
- Server 服务器上HTTP服务器应用程序的信息
- Vary 从代理服务器接收到源服务器返回包含Vary指定项的响应之后,若再要进行缓存,仅对请求中含有相同Vary指定首部字段的请求返回缓存。即使对相同资源发起请求,但由于Vary指定的首部字段不相同,因此必须要从源服务器重新获取资源。
- WWW-Authenticate 用于HTTP访问认证。用于告知客户端用于访问请求URI所自定资源的认证方案和带参数提示的咨询
实体首部字段
- Allow 通知客户端当前Request-URI所有支持的HTTP方法
- Content-Encoding 服务器对实体的主体部分选用的内容编码方式(在不丢失信息的前提下所进行的压缩)
- Content-Language 实体的主体内容的自然编码方式
- Content-Length 表明实体部分的大小(字节)。注意:内容编码后的实体,就再使用此字段
- Content-Location 给出与给报文主体对应的URI。当返回与实际请求不符时,首部字段Content-Location就会指定URI。(访问http://www.hackr.jp/返回的对象却是http://www.hackr.jp/index-ja.html等类似情况)
- Content-MD5 服务端返回的报文主体内容的md5值,与客户端接受到的报文主体在客户端md5之后,比较两者,判定响应主体内容是否完整
- Content-Range 针对范围请求,告知客户端响应返回的实体的哪个部分符合范围请求
- Content-Type 实体主体对象的媒体类型
- Expires 资源失效的日期给客户端。Expires时间之前的请求,走缓存,否则重新请求资源。
如果源服务器不希望缓存服务器对资源进行缓存,最好在Expires字段内卸乳与首部字段Date相同的时间值,即发出后即过期。
当首部字段Cache-Control有指定max-age指令时,比起首部字段Expires,会优先处理max-age指令。 - Last-Modified 资源的最终修改时间
为Cookie服务的首部字段
Set-Cookie 服务器为客户端设置Cookie
- expieres 指定浏览器可发送Cookie的有效期,如果忽略expires值,则有效期仅限于浏览器会话时间段内。因为服务端无法删除客户端的cookie,所以可以通过重设expires的方式,来使cookie失效
- path 指定Cookie发送范围的文件目录
- domain 指定的域名可做到与结尾一致
- secure 限制Web页面进行了HTTPS安全连接时,才可发送Cookie
- HttpOnly 使JavaScript无法获取Cookie
Cookie 客户端发送给服务器的一个或者多个Cookie
其他首部字段
X-
开头的的头部都是非标准的参数,用以区别标准参数。目前在标准中已经提议停止该做法。
X-Frame-Options 用于控制网站内容在其他Web网站Frame标签内的现实问题
- DENY 拒绝
- SAMEORIGN 仅同源域名下的页面许可
X-XSS-Protect 针对跨站脚本攻击的一种策略
- 0 将XSS过滤设置成无效状态
- 1 将XSS过滤设置成有效状态
DNT 拒绝个人信息被收集,是表示拒绝被精准广告追踪的一种方法
- 0 同意被追踪
- 1 拒绝被追踪