Referer
首部包含了当前页面的来源页面的地址,当前页面是通过此页面里的链接而进入的。Referer 首部允许服务器端识别是从哪里访问到它们的,可能会用此数据来进行统计分析、记录日志以及优化缓存策略等等。
需要注意的是 referer 实际上是 "referrer" 误拼写。参见 HTTP referer on Wikipedia (HTTP referer 在维基百科上的条目)来获取更多的详细信息。
Referer
首部拥有暴露用户的浏览历史的潜在性,涉及到用户的隐私问题。
在以下两种情况下,Referer 不会被发送:
- 来源页面采用的协议为表示本地文件的 "file" 或者 "data" URI;
-
当前请求采用的是非安全协议,而来源页面采用的是安全协议(HTTPS)。
Header type | Request header |
---|---|
Forbidden header name | yes |
语法
Referer: <url>
指令
- <url>
- 当前页面被链接而至的前一页面的绝对路径或者相对路径。不包含 URL fragments (例如 "#section") 和 userinfo (例如 "https://username:password@example.com/foo/bar/" 中的 "username:password" )。
示例
Referer: https://developer.mozilla.org/en-US/docs/Web/JavaScript
规范
Specification | Title |
---|---|
RFC 7231, section 5.5.2: Referer | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
浏览器兼容性
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Feature | Chrome | Firefox | Edge | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |