zoukankan      html  css  js  c++  java
  • 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">
    
  • 相关阅读:
    枚举类型的应用
    动手动脑
    四则运算和验证码--源码
    ATM源码
    javabean+jsp+servlet+jdbc
    四则运算改良
    Java异常
    课后总结
    包装类Integre
    对象验证
  • 原文地址:https://www.cnblogs.com/yinminbo/p/12180272.html
Copyright © 2011-2022 走看看