• HTTP 请求头部 referer


    原文地址:https://www.sojson.com/blog/58.html

    HTTP 请求头部 referer

    概述

      referer 是  HTTP  请求头部的一部分。当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头信息里有包含  Referer 。Referer的的作用是指示一个请求是从哪里链接过来,那么当一个请求并不是由链接触发产生的,那么自然也就不需要指定这个请求的链接来源,如:直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含 Referer  字段的,因为这是一个“凭空产生”的 HTTP  请求,并不是从一个地方链接过去的。服务器允许 Referer  为空,意味着服务器允许浏览器直接访问。

    注:

      referer 的正确英语拼法是 referrer 。由于早期HTTP规范的拼写错误,为了保持向后兼容就将错就错了。其它网络技术的规范企图修正此问题,使用正确拼法,所以目前拼法不统一。还有它第一个字母是大写。

    一、Referer

    1.防盗链

    Referer=https://www.sojson.com

    注:设置 Referer 限制访问资源的域名,资源服务器每次取到 Referer 来判断一下是不限定的域名:https://www.sojson.com。如果是就继续访问,不是就拦截。

    2.防止恶意请求。

    比如SOJSON网站上,静态请求是*.html结尾的,动态请求是*.shtml,那么由此可以这么用,所有的*.shtml请求,必须 Referer  为限定网站。

    Referer=https://www.sojson.com

    3、Referer

    服务器可以拒绝空referer的请求

    4、页面添加Referer元素需要使用meta referrer标签

    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">
    
  • 相关阅读:
    HDU 5213 分块 容斥
    HDU 2298 三分
    HDU 5144 三分
    HDU 5145 分块 莫队
    HDU 3938 并查集
    HDU 3926 并查集 图同构简单判断 STL
    POJ 2431 优先队列
    HDU 1811 拓扑排序 并查集
    HDU 2685 GCD推导
    HDU 4496 并查集 逆向思维
  • 原文地址:https://www.cnblogs.com/yinminbo/p/12180272.html
Copyright © 2020-2023  润新知