有谁知道在服务器上激活热链接保护会对网站性能产生什么影响。
仅供参考:热链接保护不允许其他服务器上的其他网站在其网站上放置直接引用我的网站的图像。例如,假设 mywebsite.com 包含一个名为 test.jpg 的 img 文件,anotherwebsite.com 不能在其页面中放置此行:
<img src="http://mywebsite.com/test.jpg">
因为 mywebsite.com 服务器会识别出此类请求不是来自 mywebsite.com 并停止该请求,因此 anotherwebsite.com 不会在图像的位置显示任何内容。
实际上,我激活了 Hotlink 保护的网站似乎并没有变慢。但我只是想知道这背后的原因是什么,我猜 Apache Web 服务器需要检查每个图像请求并查看这些请求来自何处,因此在某种程度上它应该会降低性能。
答案1
HTTP 请求有一个名为“Referer”的标头字段。这只是您发出当前请求的 URL。浏览器在大多数请求中都会发送此字段。(如果您在地址栏中输入 URL,则没有 referer。您可以将浏览器配置为不使用 referer,或者伪造 referer...)您提到的热链接保护只是检查 referer 值是否来自与您的域不同的域,如果是,则阻止或重定向请求。
所以,是的,进行此检查显然会产生一些开销。但可能不是很大。(老实说,我说不出来)我建议你只关注服务器资源的使用情况。
答案2
Apache 无论如何都会检查每个请求来自哪里(因为它必须能够将其发回),因此热链接保护肯定会不是影响性能。