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