# 介绍

Referer 头字段包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。当用户点击一个链接或提交一个表单时,浏览器会自动发送一个 HTTP 请求,同时附带 Referer 头字段,告诉服务器该请求来自哪个页面。
事实上, Referer 的正确拼写是 Referrer ,制定标准时少了一个字母 r ,之后将错就错。

# 应用

有的网站禁止图片外链,外部网页加载本站图片就会报错,这是基于 Referer 头字段实现的。
服务端一般使用 Referer 头字段识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。

# 场景

以下场景发送 Referer 头字段:

  1. 用户点击网页上的链接。
  2. 用户发送表单。
  3. 网页加载静态资源,例如:图片、脚本、样式。

以下场景不发送 Referer 头字段:

  1. 如果从一个安全的 HTTPS 网站跳转到一个非安全的 HTTP 网站,浏览器通常不会发送 Referer 头字段。
  2. 用户可以在浏览器中配置隐私设置,禁用或修改 Referer 头字段的发送行为。
  3. 书签、浏览器地址栏中直接输入的 URL,或者通过 JavaScript 生成的动态链接,可能不会发送 Referer 头字段。
更新于