referer的作用
包含当前请求页面的来源页面的地址,即当前页面是通过此来源页面的链接进入的。
举个例子:
页面https://wangxiaokai.vip/posts/rel-canonical/中有一张图片juejin-seo-demo.png
图片的请求头如下:
服务器在接收到请求后,可以获知图片资源的请求的来源页面是https://wangxiaokai.vip/posts/rel-canonical/
什么情况下,referer不会被发送
- 来源页面采用的协议为表示本地文件的"file"或者"data" URI
- 当前请求页面采用的是非安全协议(http),而来源页面采用的是安全协议(https)
referer的拼写问题
由于历史原因,技术人员对referrer单词拼写错误, 为了保持向下兼容,所以将错就错,使用现在的单词referer。
详见HTTP来源地址
实战 - 图片防盗链
location ~ .*\.(jpg|jpeg|gif|png|js|css)$
{
expires 30d;
access_log /dev/null;
valid_referers none blocked wangxiaokai.vip www.wangxiaokai.vip;
if ($invalid_referer){
return 404;
}
}
如代码所示,通过配置nginx,可以对请求头referer进行判断,当没有命中规则时,返回404。
这样,可以节省带宽资源的消耗。
扩展阅读
坚持原创,输出有价值的文章!
同学,如果文章有帮助到你,请通过以下方式给笔者反馈:
- 收藏的同时,不要忘记给本文点个赞👍
- GitHub 点个✨star✨