请求头一般有以下分类,本篇文章仅大致介绍下常见的请求头,部分重要的请求头将在以后文章重点讲解。
控制相关
Host
:一般一个 IP 地址对应 N 个应用,通过Host
即可定位到对应的应用。Cache-Control
:发送请求时,如何控制客户端的缓存策略。Expect
:与 100 状态码相关。Range
:指定范围请求,与 206 状态码相关。
条件相关
条件请求相关头部,前两者与 304 状态码相关,If-Range
与 206 状态码相关。
If-Match
If-Modified-Since
If-Range
内容协商
内容协商,告知服务期端我需要什么样的资源,比如语言以及压缩编码,如果服务器无法返回对应的资源,则返回 406 状态码。
图片来自 MDN 内容协商
Accept
:我(客户端)需要什么样的资源,比如 json 与 htmlAccept-Encoding
:我需要什么样的压缩编码,比如 gzip 与 br,如果不配置则可能不进行压缩Accept-Language
:我需要什么样的语言,比如 en-US 和 zh-CN
认证相关
Authorization
:每次发送请求时,使用该头部携带 token 信息,维护客户端的认证状态
来源相关
通过来源相关,我们可以更好地统计用户信息,也可以以此为依据用来防止爬虫。
Referer
:当前页面的上一个页面是哪里,或者说该页面是由哪个页面跳转而来的User-Agent
:用户代理是什么,或者说该页面是由哪个客户端(比如浏览器版本号之类)跳转而来的
作业
- 浏览常见网站,打开浏览器控制台网络面板,查看其请求头