HTTP中Origin和Referer的区别?
一、简介
HTTP 协议,用 Header 中的 Origin 和 Referer 来表示请求链接的来源,他们在使用上有些区别。
二、Origin 详解
Origin
指示了请求来自于哪个站点,只有服务器名,不包含路径信息,浏览器自动添加到http请求 Header 中,无需手动设置。
1、添加 Origin 的情况
- 同源请求:POST、OPTIONS、PUT、PATCH 和 DELETE请求都会添加Origin请求头,GET或HEAD请求不会添加Origin请求头。
- 跨域请求:所有跨域请求(CORS)都会添加Origin请求头。
2、用法说明
语法
Origin: "" Origin: <scheme> "://" <host> [ ":" <port> ] // 值为"",表示资源是由 data URL 指定。
参数说明:
<scheme> 请求所使用协议,通常是HTTP或者HTTPS。<host> 服务器的 域名 或 IP。<port> 可选,端口号,HTTP请求,默认端口为 80
实例
Origin: https://developer.mozilla.org
三、Referer 详解
Referer
指示了请求来自于哪个具体页面,包含服务器名和路径的详细URL,浏览器自动添加到http请求 Header 中,无需手动设置。
1、不会添加 Referer 的情况
- 来源页面采用
file
或data URI
协议; - 来源页面采用 HTTPS 协议,而请求页面采用 HTTP 协议;
2、使用说明
语法
Referer: <url>
参数说明
url :表示请求来源页面的绝对路径或者相对路径,但不包含
URL fragments (例如 "#section")
和userinfo (例如 "https://username:password@example.com/foo/bar/" 中的 "username:password" )
实例
Referer: https://developer.mozilla.org/en-US/docs/Web/JavaScript
3、使用场景
服务端一般使用 Referer
请求头识别访问来源,进行统计分析、日志记录、缓存优化、异常访问等。
四、参考文档
- HTTP中origin和refer的区别?
HTTP中Origin和Referer的区别?相关推荐
- Host 、Origin、 Referer的区别,Origin是跨域特有的属性
Host 表示当前请求要被发送的目的地host,仅包括域名和端口号.在任何类型请求中,request都会包含此header信息. Origin 表示这个请求原始是在哪里发起的,包括当前请求的协议和域名 ...
- github中origin和upstream的区别(转)
Fork,本身并不是git工具中的一个命令,也不是对git的扩展,它是在GitHub上的概念,是另一种clone方式--在服务器端的clone. 而我们通常意义上的clone,是将远程repo 复制一 ...
- 【转】github中origin和upstream的区别
Fork,本身并不是git工具中的一个命令,也不是对git的扩展,它是在GitHub上的概念,是另一种clone方式--在服务器端的clone. 而我们通常意义上的clone,是将远程repo 复制一 ...
- python中break和continue的区别
python中break和continue的区别 break 结束for 或者while 循环 后面还没循环到的 不再循环 continue 当满足某种条件时结束当前值的循环 后面没有循环的继续循环 ...
- java中separator_java - File.separator和路径中的斜杠之间的区别
java - File.separator和路径中的斜杠之间的区别 在Java Path-String中使用/和普通的File.separator有什么区别? 与双反斜杠相比,/平台独立似乎不是原因, ...
- PHP中self和static的区别,php中self与static的区别
原文链接,猛击这里. php中self与static的区别 通过一些示例,我们可以很容易看出self和static的区别.假定我们有class Car – 它有两个方法,model和getModel. ...
- php 抽象类 接口 区别,PHP中抽象类、接口的区别与选择分析
本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过 ...
- php $this self,php中self与$this的区别
学习php中self与$this的区别. 先来看下parent与self的例子: /* * parent与self的区别 * by www.jbxue.com */ class A{ function ...
- mysql中char与varchar的区别分析(补充一句,int和integer没区别)
转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...
最新文章
- workerman结合laravel开发在线聊天应用的示例代码
- 笔记JavaScript基本概念
- php 自动创建文件,php:自动创建多级文件夹
- Ubuntu Android Studio/IntelliJ IDEA 支持文件中文命名
- Android UI布局之LinearLayout
- ubuntu下用命令行安装Qt
- eShopOnContainers 知多少[6]:持久化事件日志
- java基础day11---空指针异常----引用类型--自定义类型赋值--封装
- 神经网络的SGD、Momentum、AdaGrad、Adam最优化方法及其python实现
- 分布式深度学习,93页ppt概述最新DDL技术发展
- 求特殊方程的正整数解
- 爬虫--Scrapy-CrawlSpider基于CrawlSpide的分布式爬虫
- BJT与MOSFET与IGBT的区别
- 冰箱android10,智能手机 篇十:手机冻冰箱总共分几步?AGM推出金嗓子手机H2,超大声音超长待机...
- CiteSpace中的中介中心性(betweenness)的理解(包含度中心性(degree)、接近中心性(closeness))
- appium-滑动、拖动操作
- 光学图像、SAR图像等区别
- 微信小程序 - 设置图片高度自适应(宽度固定)
- python三大,Python三大器
- 开发和部署Pocket Pc 安装程序
热门文章
- python xlwings excel 根据列排序
- python T检验
- jupyter notebook如何显示行号?
- C语言基础第五次作业
- 一个有潜在危险的要求。从客户端中检测到(ctl00$ $ $ contentplaceholder2submit1
- PS出现“不能完成命令,因为没有足够内存(RAM)”的解决方案
- JS跳到新页关闭当前页,跳到顶部,添加删除提示等等,自己看吧
- PPP协议与WAN技术
- php上传文件到七牛云,如何使用php上传大文件到七牛云储?
- 提问的智慧,智慧的提问