referer 只有域名的问题技术
再次骂 Google Chrome,总是瞎鸡吧乱改规则。
Chrome 真是个蛋疼的浏览器,总是乱改规则,前面遇到过 post 不携带 Cookie 问题,现在又遇到了不携带 Referer 的问题。感觉这帮制定规则的人脑子🧠有问题,你如果是为了安全,可以由网站主来决定,我如果不想携带,那我做个设置,你来瞎搞什么啊,Javascript 本身是可以获取的,我如果要传,不就是麻烦一点吗,一样可以做得到。这个事情困扰了我好久,发现统计的路径总是只有域名,我开始还以为是跳转出现的问题,一直没有时间去查个究竟,最近发现实在是奇怪,越来越奇怪,才发现,原来是 Chrome 85 惹的祸啊。
最近还在想 http_accept_language 的格式问题,作为代码工作者一定会发现,被它这个字段的规则弄糊涂了,实在是费解啊。http_accept_language 如果按 ; 分号分割,感觉难理解,如果按照 , 逗号分隔,也不是那么容易理解。最有发现确实是 , 逗号分隔,按照有点常识的人来讲,逗号 , 怎么可以用来做分隔呢,分号 ; 才更合理啊。现在真的是脱节了,制定规则的人经验非常不丰富,但是规则一旦确定,大家只能遵守!
Chrome85 的 referer 策略修改 原本默认的 referer 策略(policy)是no-referrer-when-downgrade,即允许referer带上来源页面地址上的请求参数,Chrome85将策略修改为strict-origin-when-cross-origin,即如果请求地址与请求页面非同源,将只携带请求的域名,不会再带上来源页面地址的请求参数。 为什么使用strict-origin-when-cross-origin 增强隐私:使用strict-origin-when-cross-origin将在请求非同源资源的时候,让referer只带上来源页面的源域名,不会暴露链接上的其他参数。 如何开启/关闭no-referrer-when-downgrade 目前只有Chrome85主动使用了no-referrer-when-downgrade这个策略,如果要在其他浏览器开启这个策略,可以分别在前后端做配置: //前端在html页面配置: <meta name="referrer" content="strict-origin-when-cross-origin" /> //服务端可以在请求头上加上 Referer Policy 这个请求头: Referer Policy: strict-origin-when-cross-origin //关闭strict-origin-when-cross-origin //前端在html设置: <meta name="referrer" content="no-referrer-when-downgrade"" /> <!-- 对某个特定资源设置 referer 策略 --> <img src="…" referrerpolicy="no-referrer-when-downgrade" /> 服务端将Referer Policy设置为no-referrer-when-downgrade Referer Policy: no-referrer-when-downgrade 作者:咯噔爸比 链接:https://www.jianshu.com/p/c90bbc842dbd 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
暂无