请求头 http://dafeizizhu.github.io/2013/07/12/http-header/
常用的标准请求头包括下面几个:
Accept
,声明哪种相应是可接受的,如text\plain
、application\json
等。Cache-Control
,声明缓存控制机制,如no-cache
声明不做缓存。Connection
,声明与服务器的连接机制,如keep-alive
等。Cookie
,声明Cookie信息。Content-Type
,声明请求体的MIME类型。Host
,声明需要请求URI的主机信息。If-Match
,声明匹配这个请求的Key,如果服务器的ETag与这个Key一致,则认为这个请求的资源没有发生改变,客户端可以选择从还从中加载这个请求。Origin
,声明跨域请求的时候支持什么域名进行访问。User-Agent
,声明发出这个请求的客户端的描述,如果是浏览器发出的请求,可以根据这个头判断是哪个浏览器的哪个版本。
非标准请求头包括下面几个:
X-Request-With
,通常通过这个头告诉服务器这个请求是XMLHttpRequest发送的。DNT
,表示是否开启DNT
(Do not track)功能,1
表示开启,0
表示关闭。Front-End-Https
,是微软用的一个自定义头,与负载均衡有关。Proxy-Connection
,与标准头Connection
一致,是早期HTTP协议的产物。
相应头
常用的标准相应头大概有以下几个:
Access-Control-Allow-Origin
,声明这个响应可以参与到哪个域的跨域访问中。*
表示可以参与到任何域的跨域访问。Allow
,声明这个HTTP响应是使用哪个HTTP方法,如GET
、POST
等。如果是一个不支持的HTTP方法,则会返回错误码405 Method not allowed
。Content-Type
,声明这个响应的MIME类型。ETag
,声明这个响应版本的key,可以标识一个资源是否有改变过(参考请求头If-Match
)。Pragma
,声明这个响应是否支持缓存,可以设置no-cache
禁用这个响应的缓存。Refresh
,声明这个响应在特定时间后刷新或者跳转到新的URL。例如Refresh: 5;http://example.com
,就表示5秒之后跳转到指定的URL。Status
,声明这个响应的状态码,后面会专门写一篇关于状态码的文章。