# 介绍
Referer
头字段包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。当用户点击一个链接或提交一个表单时,浏览器会自动发送一个 HTTP 请求,同时附带 Referer 头字段,告诉服务器该请求来自哪个页面。
事实上, Referer
的正确拼写是 Referrer
,制定标准时少了一个字母 r
,之后将错就错。
# 应用
有的网站禁止图片外链,外部网页加载本站图片就会报错,这是基于 Referer 头字段实现的。
服务端一般使用 Referer 头字段识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。
# 场景
以下场景发送 Referer 头字段:
- 用户点击网页上的链接。
- 用户发送表单。
- 网页加载静态资源,例如:图片、脚本、样式。
以下场景不发送 Referer 头字段:
- 如果从一个安全的 HTTPS 网站跳转到一个非安全的 HTTP 网站,浏览器通常不会发送 Referer 头字段。
- 用户可以在浏览器中配置隐私设置,禁用或修改 Referer 头字段的发送行为。
- 书签、浏览器地址栏中直接输入的 URL,或者通过 JavaScript 生成的动态链接,可能不会发送 Referer 头字段。