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
。
这样,可以节省带宽资源的消耗。
扩展阅读
最近笔者在整理第一本电子书书稿《前端面试手册》,有兴趣的同学可以关注下~
喜欢我文章的朋友,可以通过以下方式关注我:
- 「star」 或 「watch」 我的GitHub blog
- RSS订阅我的个人博客:王先生的基地
扫描二维码关注公众号,回复:
14174415 查看本文章