在一次需要获取来路网址信息的应用场景中遇到了一个大家都可能遇到的问题;那就是从https跳转至http网站无法获取来路信息,从而显示空值。
于是就去网上搜了搜解决方案,都说因为https安全性考虑,禁止了http站点获取https站点的REFERER信息,而解决方案很多网友说有两种方案:
一、增加一个Meta头信息,来建议浏览器发送Referer,这并不是HTTP强制要求的,不排除有个别浏览器不去这么做。
<meta content="always" name="referrer">
这个方案不推荐使用,第一个原因是有可能有些浏览器不支持,第二个原因就是这个方案局限性大,只能在您有权限改动的站点里加入这串代码;而大多数人的需求绝不止如此。
二、将需要获取其他站点来路信息的站点升级成Https
这个方案个人觉得比较靠谱,也是从根本解决问题,于是我给我本地测试的站点部署了https,测试了一下成功了。
我用的环境是nginx,至于如何配置部署https站点,请看这篇文章:如何在Nginx/Tengine服务器上安装SSL证书