http头部字段之referer和origin
参考:https://www.cnblogs.com/renjie1105/p/15355986.html
介绍
referer字段和origin字段都是用于表示请求来源的。
以下测试在Edge浏览器中进行
Referer字段
表示发起请求的来源页面。一般由浏览器自动分析携带,无法在ajax中指定。
作用
1、请求来源统计
2、防止盗链
3、防止csrf
作用场景
Referer字段是否请求中携带,由浏览器决定,并不是全部场景都会携带。
1、地址栏直接输入url,不携带Referer字段。(导航栏的刷新、前进和后退按钮作用同样不会携带Referer字段。)
2、对于页面内的图片等资源请求,会携带Referer字段
3、超链接跳转会携带Referer字段。
Origin字段
Referer字段的缺点在于包含路径和参数部分,可能存在敏感信息泄露风险,因此设计了Origin字段,其仅包含协议、域名和端口部分。可以替代Referer字段,具有同样的效果。
Origin字段存在时,如果Referer字段也存在,并且包含path和参数部分,则Origin字段无法作用。
作用场景
目前,由于种种原因,浏览器并没有单独使用Origin字段。而是在post请求时,携带Referer以及Origin字段。