HTTP消息头用来规定、描述获取资源、服务器或者客户端的行为,定义了HTTP事物中的具体参数。
HTTP消息头支持自定义,自定义的专用消息头一般会添加‘X-’前缀
1、常用的请求头
Accept:可接受的相应内容类型(Content-Type);
Accept-Language:可接受响应内容的语言列表;
Accept-Charset:可接受的字符集;
Accept-Encoding:可接受的响应内容的编码方式;
Accept-Datetime:用于表示HTTP协议中需要认证资源的认证信息;
Cache-Control:用来指定当前的请求、回复中是否使用缓存机制;
Connection:keep-alive/Upgrade客户端(浏览器有限使用的连接类型)
Cookie:用于服务器与客户端间的通讯;
Content-Length:以8进制表示的请求体的长度;
Content-Type:请求体的MIME类型(用于POST和PUT请求中)Content-type:application/x-www-form-urlencoded;
Date:发送该消息的日期和时间;
Expect:表示客户端服务器做出特定的行为;
Referer:表示浏览器所访问的前一个页面,可以认为是之前访问页面的链接将浏览器带到了当前页面。Referer
其实是Referrer
这个单词,但RFC制作标准时给拼错了,后来也就将错就错使用Referer
了。
User-Agent:浏览器的身份标识字符串
2、常用的相应头
Access-Control-Allow-Origin:指定哪些网站可以跨域源资源共享
Accept-Ranges:服务器所支持的内容范围
Age:响应对象在代理缓存中存在的时间,以秒为单位
Cache-Control:通知从服务器到客户端内的所有缓存机制,表示它们是否可以缓存这个对象及缓存有效时间。其单位为秒
Connection:针对该连接所预期的选项
Content-Disposition:对已知MIME类型资源的描述,浏览器可以根据这个响应头决定是对返回资源的动作,如:将其下载或是打开。
Content-Encoding:响应资源所使用的编码类型。
Content-Language:响就内容所使用的语言
Content-Length:响应消息体的长度,用8进制字节表示;
Content-Location:所返回的数据的一个候选位置;
Content-Range:如果是响应部分消息,表示属于完整消息的哪个部分
Content-Type:当前内容的MIME
类型
Date:此条消息被发送时的日期和时间(以RFC 7231中定义的"HTTP日期"格式来表示)
ETag:对于某个资源的某个特定版本的一个标识符,通常是一个 消息散列;是否更新;
Expires:指定一个日期/时间,超过该时间则认为此回应已经过期
Set-Cookie:设置HTTP cookie
Server:服务器的名称