实体首部字段
①Allow:告知客户端,服务器能够支持的所有HTTP方法
当服务器收到不支持的HTTP方法请求时,就会返回405 Method Not Allowed响应,并添加Allow首部
Allow:GET,HEAD
②Content-Encoding:告知客户端,服务器对实体主体部分使用的内容编码方式
Content-Encoding:gzip
③Content-Language:告知客户端,实体主体使用的自然语言类型
④Content-Length:表明实体主体的传输大小,单位为字节
当对实体主体进行内容编码时,传输长度跟消息的实体长度可能会不同,传递不正确的Content-Length
值会导致传输的数据被截断或请求延迟,具体可以看看博客1博客2。当传输编码方式为chunked
分块传输时,此字段被忽略博客3
⑤Content-Location:表示报文主体返回资源所对应的URI地址
Content-Location:https://www.zjw666.top/index.htm
⑥Content-MD5:对报文主体执行MD5算法后,经base64编码获得了一串值
客户端在接收到带有该字段的请求时,会对接收的报文主体再次执行相同的MD5算法,并将结果与接收的该字段值进行匹配,以此来检查报文主体在传输过程中是否完整。
由于MD5值也可能被篡改,则也不一定安全
⑦Content-Range:针对范围请求,在响应中使用,告知客户端返回实体的哪个部分符合范围请求
Content-Range:bytes 5001-10000/10000
⑧Content-Type:说明实体主体内对象的媒体类型
与Accept字段类似,字段值使用type/subtype赋值
参数charset使用字符集赋值
Content-Type:text/html; charset=UTF-8
⑨Expires:告知客户端或缓存服务器,返回资源失效的日期时间
资源过期之后,相同的请求将会转发给源服务器
当首部字段Cache-Control中指定有max-age时,会忽略Expires
Expires:Wed, 04 Jul 2012 08:26:05 GMT
⑩Last-Modified:指明资源最终修改的日期时间
其他首部字段
①Set-Cookie:响应首部字段,服务器准备开始管理客户端状态时,会事先告知各种信息
属性:
- NAME=VALUE 赋予Cookie的名称和值,必需项
- expires=DATE 指定Cookie的过期日期时间,若不指定,则默认为浏览器关闭时失效
- path=PATH 限制指定Cookie的发送范围的文件目录,若不指定,则默认为文档所在的文件目录
- domain=域名 作为Cookie适用对象的域名,若不指定,则默认为服务器域名
- secure 限制Web页面只有在HTTPS安全连接时,才可以发送Cookie
- HttpOnly 使Javascript脚本无法获取Cookie,主要目的是为了防止跨站脚本供给XSS
Set-Cookie:status=enable;expires=Wed, 04 Jul 2012 08:26:05 GMT; path=/; domain=.zjw666.top; secure; HttpOnly
②Cookie:请求首部字段,当客户端想获得HTTP状态管理支持时,就会在请求中包含从服务器收到的Cookie,可以同时发送多个Cookie
Cookie:status=enable
③X-Frame-Options:响应首部字段,用于控制网站内容在是否可以在Web网站的Frame等标签内的显示问题,防止点击劫持clickjacking
可选值:
- DENY 拒绝
- SAMEORIGIN 仅允许同源域名下所有页面的frame标签加载该页面
- allow-from https://example.com/
④X-XSS-Protection:响应首部字段,控制浏览器XSS防护机制开关
可选值:
- 0 防护关闭
- 1 防护开启
⑤DNT:请求首部字段,Do Not Track 拒绝个人信息被收集
可选值:
- 0 同意被追踪
- 1 拒绝被追踪