Referer

作者: 达文西_Huong | 来源:发表于2020-10-22 23:27 被阅读0次

    Referer 介绍

    参考文章:https://www.jianshu.com/p/1a6abab212ed

    本文基于参考文章,阅读完之后再自己总结。主要介绍的是HTTP中的 Referer字段的作用以及它的特性


    什么是 Referer

    Referer 是 HTTP 字段中的一部分。当浏览器向服务器发起请求的时候,请求头一般需要携带Referer字段。而该字段的值为发起请求的页面链接。而服务器可以根据链接获取到一些需要的信息。

    image

    Referer 的作用

    防盗链

    服务器可以只允许网站访问自己的静态资源,每次请求进来,服务器都会判断一下Referer的值。是否符合,符合则继续访问,否则就拦截

    防止恶意请求

    比如静态请求是.html结尾。而动态请求是.shtml结尾。那么只要文件是*.shtml,都必须让他的Referer是自己的网站才允许请求

    Referer 的一些其他情况

    Referer为空的是什么原因

    因为Referer是指示一个请求是从哪里链接过来。那么如果我们直接从url中输入(即请求不是由链接触发产生的),发起的请求,Referer的值就会为空。因为直接在url上输入的请求是一个凭空产生的HTTP请求,并不是从一个地方链接过去的

    在设置防盗链中,允许Referer为空的含义

    允许Referer为空的含义就是,意味着你允许比如浏览器直接方位。

    页面添加Referer元素,需要使用 meta referer 标签

       1、None:绝不允许referrer data通过
       标签写法:<meta name="referrer" content="none">
    
       2、None When Downgrade:发送referrer信息去安全的HTTPS站点,而非不稳定的HTTP站点。
       标签写法:<meta name="referrer" content="none-when-downgrade">
    
       3、Origin Only: 发送协议、主机和端口(即子域)没有一个完整的URL作为来源,
       即https://moz.com/example.html只会发送https://moz.com
       标签写法:<meta name="referrer" content="origin">
    
       4、Origin When Cross-Origin: 当传origin-only来路信息发送给外部站点时,如果目标有相同的协议、主机和端口(即子域),无论它是HTTP或HTTPS,都将全部的URL作为Referrer发送出去。(注解:官方说明书上有一处排印错误,将来的版本应该是"origin-when-cross-origin")
       标签写法:<meta name="referrer" content="origin-when-crossorigin">
    
       5、Unsafe URL: 总是将URL字串作为一个referrer通过。
       注意:如果你的URL中存在任何敏感信息,这不是最安全的选择。其中URL的片段、用户名、密码被自动剥去。
       标签写法:<meta name="referrer" content="unsafe-url">
    

    以上

    相关文章

      网友评论

          本文标题:Referer

          本文链接:https://www.haomeiwen.com/subject/nsdmmktx.html