HTTP 请求头
GET /home.html HTTP/1.1
Host: developer.mozilla.org
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://developer.mozilla.org/testpage.html
Connection: keep-alive
Upgrade-Insecure-Requests: 1
If-Modified-Since: Mon, 18 Jul 2016 02:36:04 GMT
If-None-Match: "c561c68d0ba92bbeb8b0fff2a9199f722e3a621a"
Cache-Control: max-age=0
Host
指明了请求将要发送到的服务器主机名和端口号。
User-Agent
浏览器信息
Accept
告知服务器客户端所能够接受的响应格式及其优先级,常用于指定可以接受的内容类型(Content-Type)
Accept: */*
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language
允许客户端声明它可以理解的自然语言,以及优先选择的区域方言。
Accept-Encoding
告知服务器能够接受的压缩格式及其优先级,从前到后表示客户端对压缩格式的优先级。
Accept-Encoding: gzip, deflate, br
Referer
标识页面的来源
Connection
通用标头控制网络连接在当前会话完成后是否仍然保持打开状态。如果发送的值是 keep-alive,则连接是持久的,不会关闭,允许对同一服务器进行后续请求。
Connection: keep-alive
# HTTP/1.0 请求的默认值
Connection: close
Upgrade-Insecure-Requests
请求服务器将所有不安全的请求(例如 HTTP)升级为安全的请求(例如 HTTPS)。设置该字段后,浏览器在向网站发送 HTTP 请求时,会先尝试将请求升级为 HTTPS 请求,从而保证安全性。
If-Modified-Since
协商缓存标识
If-None-Match
协商缓存标识,优先级高于 If-Modified-Since
Cache-Control
private
:仅浏览器可以缓存(默认值);public
:浏览器和代理服务器都可以缓存;max-age=xxx
:过期时间单位秒(解决了 Expires 自己修改本地时间的问题)no-cache
:不进行强缓存;no-store
:不强缓存,也不协商缓存no-transform
:不对传输的内容做任何转码(常见的地方为 proxy 或 browser 为了减少传输内容及流量,会对传输的图片等进行格式转换,此配置可以避免转换)
Cache-Control:public, max-age=31536000