关于referer
Referer
请求头包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。服务端一般使用 Referer
请求头识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。
需要注意的是 referer 实际上是 "referrer" 误拼写。参见 HTTP referer on Wikipedia(HTTP referer 在维基百科上的条目)来获取更详细的信息。
防盗链
应用referer请求头后端可以根据referer的来源进行访问限制
防止恶意请求
接口的referer请求头可以判断, 接口的调用来源, 从而定位请求方, 防止恶意的请求, 当从浏览器直接输入地址是没有referer请求头的, 可以限制浏览器直接输入地址的情况.
项目问题
IE浏览器通过 window.open 打开第三方页面失败的情况, 初步排查是因为没有referer请求头, IE浏览器的window.open和 loacation.href会丢失referer请求头的情况(第三方页面的鉴权机制 应该对referer做了限制)
解决方法
使用a标签模拟点击跳转页面