Referer

标题:https页面内http链接跳转时的referer问题

  • 原因:https页面内的http链接。在这种情况下,referer信息不会传递
  • 解释:https://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html#sec15.1.3

Clients SHOULD NOT include a Referer header field in a (non-secure) HTTP request if the referring page was transferred with a secure protocol
在协议为加密的https页面中不应该让http链接请求的header中携带referer字段

  • 解决方案:
  1. 升级https,链接地址改为https(同时站点也需支持https)
  2. https页面添加meta元数据  ,这样强制添加referer信息
  • 备注:meta元数据中的content值,还可为:

never、no-referrer:即不添加referer信息;

 

origin:即referer信息只有schema://domain:port,即协议://域名:端口,没有路径信息;

no-referrer-when-downgrade:当协议降级时,不发送referer信息,也就是本文描述的问题,现大多数浏览器默认的;

origin-when-crossorigin:当跨域时,origin类型的referer,即只有协议://域名:端口,没有路径信息;

 

其他:

https://www.freebuf.com/news/57497.html 

你可能感兴趣的:(Referer)