zoukankan      html  css  js  c++  java
  • 前端面试—Http请求头中Referer的含义和作用

    前端面试—Http请求头中Referer的含义和作用

    博客说明

    文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

    介绍

    HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。

    作用

    防盗链

    假如在www.google.com里有一个www.baidu.com链接,那么点击进入这个www.baidu.com,它的header信息里就有:Referer=http://www.google.com

    只允许我本身的网站访问本身的图片服务器,假如域是www.google.com,那么图片服务器每次取到Referer来判断一下域名是不是www.google.com,如果是就继续访问,不是就拦截。

    将这个http请求发给服务器后,如果服务器要求必须是某个地址或者某几个地址才能访问,而你发送的referer不符合他的要求,就会拦截或者跳转到他要求的地址,然后再通过这个地址进行访问。

    防止恶意请求

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

    空Referer

    定义:Referer头部的内容为空,或者,一个HTTP请求中根本不包含Referer头部(一个请求并不是由链接触发产生的)

    直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含Referer字段的,因为这是一个“凭空产生”的HTTP请求,并不是从一个地方链接过去的。

    那么在防盗链设置中,允许空Referer和不允许空Referer有什么区别?

    允许Referer为空,意味着你允许比如浏览器直接访问。

    防御CSRF

    比对HTTP 请求的来源地址,如果Referer中的地址是安全可信任的地址,那么就放行

    感谢

    以及勤劳的自己,个人博客GitHub

    微信公众号

  • 相关阅读:
    拉格朗日插值
    文档 所有空格变为Tab
    windows 计算器
    map 结构体
    插入图片 图片地址
    扩展中国剩余定理
    欧拉定理、欧拉函数、a/b%c
    hdu1033Defragment
    Minimum Inversion Number_线段树||树状数组
    hdu1166敌兵布阵_线段树单点更新
  • 原文地址:https://www.cnblogs.com/guizimo/p/13710243.html
Copyright © 2011-2022 走看看