Sec-Fetch-Dest是一个用于HTTP请求头的字段 (全名应该是”Security Fetch Destination”,意思是安全获取目标) ,用于指示浏览器请求的目标资源类型以及请求的目的和处理方式。该字段通常由浏览器自动生成,并在发送请求时包含在HTTP请求中。它有助于服务器和浏览器之间更好地理解请求的目的和处理方式。
Sec-Fetch-Dest字段值
Sec-Fetch-Dest字段的值可以是以下之一:
- “empty”:表示请求的目标为空,即请求的目标是一个空白页面或者没有具体的资源。
- “document”:表示请求的目标是一个文档,例如HTML、PDF或XML文件。
- “image”:表示请求的目标是一个图像文件。
- “media”:表示请求的目标是一个媒体文件,例如音频或视频文件。
- “font”:表示请求的目标是一个字体文件。
- “script”:表示请求的目标是一个JavaScript文件。
- “style”:表示请求的目标是一个CSS文件。
- “worker”:表示请求的目标是一个Web Worker脚本。
- “sharedworker”:表示请求的目标是一个Shared Web Worker脚本。
- “serviceworker”:表示请求的目标是一个Service Worker脚本。
- “object”:表示请求的目标是一个Object文件。
这些值可以帮助服务器和浏览器更好地理解请求的目的和处理方式,从而提高网络请求的效率和安全性。通过了解请求的目标资源类型,服务器可以更好地优化响应,而浏览器可以更好地处理返回的资源。
爬虫使用注意:
在上面的介绍中说了,这个字段是用于指示浏览器请求的目标资源类型以及请求的目的和处理方式。我们在采集一个网站资源这种小型的爬虫项目中通常是采用一个通用的header,如果我们在请求不同资源的时候,你发现各方面都正常但是有一些请求却拿不到数据,很有可能就是这个字段的问题,你可以尝试单独使用一个header去分别设置Sec-Fetch-Dest字段值,或者是在你通用header中删除掉这个字段尝试。
HTTP请求头测试
如果你想测试自己的请求头,那么推荐你一个工具:httpbin (httpbin是一个可以测试 HTTP 请求和响应的各种信息,比如 cookie、ip、headers 和登录验证等,且支持 GET、POST 等多种方法的工具。对 web 开发和测试很有帮助。)。
Httpbin的使用方法非常简单,你只需要把请求的地址修改为httpbin.org+加上对应请求即可。
例如GET请求:http://httpbin.org/get。
常用接口地址:
- get请求网址:https://httpbin.org/get
- post请求网址:https://httpbin.org/post
- put请求网址:https://httpbin.org/put
- patch请求网址:https://httpbin.org/patch
- delete请求网址:https://httpbin.org/delete
- 返回headers信息:https://httpbin.org/headers
- 返回你使用的访问此链接的IP地址:https://httpbin.org/ip
- 返回USER-AGENT信息:https://httpbin.org/user-agent
因为httpbin的服务器是在国外的,由于国内网络的特殊原因,有时候访问会很慢或者打不开,不过httpbin是可以部署在自己本地的,具体可以看我之前写的介绍文章:http测试工具:httpbin。
如果你是小白,也可以看我之前录制的:SEO需要知道的网络基础知识免费课程了解HTTP协议,也可以去哔哩哔哩这类网站搜索HTTP关键词寻找视频学习了解。