网站图片链接为何在新浏览器中显示404错误?
许多网站为了保护图片资源,会采取一些防盗链机制。最近有用户遇到一个壁纸网站(此处省略网站地址),其图片链接在原浏览器右键“在新标签页中打开图片”时可以正常显示,但如果复制图片链接到其他浏览器打开,则会返回404错误。这究竟是什么原因导致的呢?
问题的关键在于该网站使用了简单的防盗链机制,它会检查HTTP请求头中的referer字段。referer字段用于告知服务器请求来自哪个页面。当你在原浏览器右键打开图片时,浏览器会自动将原网页地址添加到referer字段中。而当你直接复制链接到新浏览器打开时,新浏览器默认不会添加referer字段,或者添加的referer字段与网站预期不符,导致服务器拒绝访问,从而返回404错误。
为了验证这一点,我们可以使用curl命令模拟HTTP请求,并手动添加referer字段。 如下所示的curl命令包含了-e选项,用于指定referer头:
$ curl -sI -e 'https://www.playke.com/xiezhen/mzsock/48884.html' https://www.playke.com/wp-content/uploads/2022/07/e7711-02111148847.jpg HTTP/2 200 server: nginx date: Sun, 31 Jul 2022 02:17:07 GMT content-type: image/jpeg content-length: 126522 last-modified: Wed, 27 Jul 2022 12:32:53 GMT etag: "62e13075-1ee3a" expires: Tue, 30 Aug 2022 02:17:07 GMT cache-control: max-age=2592000 strict-transport-security: max-age=31536000 accept-ranges: bytes
可以看到,添加了正确的referer头后,服务器返回了200 OK,表示成功获取图片。这说明该网站确实使用了基于referer的防盗链机制。 因此,想要在新浏览器中正常访问图片,需要找到一种方法添加正确的referer头,例如使用一些支持自定义请求头的浏览器插件或编程工具。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号