https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Referer
referer表示,当前页面是通过此来源页面里的链接进入的,
- Referer 请求头包含了当前请求页面的来源页面的地址
- 服务端一般使用 Referer 请求头,识别访问来源,以此进行统计分析、日志记录以及缓存优化等。
- Referer 请求头可能暴露用户的浏览历史,涉及到用户的隐私问题
Referer使用场景
服务端一般使用 Referer 请求头
- 识别访问来源
- 进行统计分析、日志记录、缓存优化、异常访问等
referer 当前页面被链接而至的前一页面的绝对路径或者相对路径
不包含
- URL fragments (例如 “#section”)
- userinfo (例如 “https://username:password@example.com/foo/bar/“ 中的 “username:password” )
origin
HTTP 协议中,Header头的 Origin 和 Referer 都用来表示,请求链接的来源,区别
- origin 表示 请求来自于哪个站点,
- 只有服务器名,不包含路径信息,浏览器自动添加到http请求 Header 中,无需手动设置
- 同源请求:POST、OPTIONS、PUT、PATCH 和 DELETE请求都会添加Origin请求头
- GET或HEAD请求不会添加 Origin请求头
- 跨域请求:所有跨域请求(CORS)都会添加Origin请求头
- referer表示 请求来自于哪个具体页面,
- 包含服务器名和路径的详细URL,浏览器自动添加到http请求 Header 中,
- 无需手动设置
- 不会添加 referer的场景
- 来源页面采用 file 或 data URI 协议;
- 来源页面采用 HTTPS 协议,而请求页面采用 HTTP 协议
- 服务端一般使用 Referer 请求头识别访问来源,进行统计分析、日志记录、缓存优化、异常访问等
referer 和 origin的区别
https://learn-anything.cn/http-origin-refer
nodejs获取 referer
koa2
req.headers.referer
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Referrer-Policy
no-referrer
整个 Referer 首部会被移除。访问来源信息不随着请求一起发送,常用语 a href
<a href="" target="_blank" rel="noreferrer nofollow">
https://stackoverflow.com/questions/50773152/when-should-i-use-rel-noreferrer