在HTTP请求头中,Referer、Host和Origin字段有不同的作用和含义

  1. Referer(引用页):表示用户从哪个页面发起的请求。它包含了发起请求的页面的URL。服务器可以根据这个字段来识别用户是从哪个页面跳转过来的,以便进行统计分析、日志记录、缓存优化等。但是,出于隐私和安全的考虑,有时 浏览器可能不会发送Referer字段

例如,当用户从页面A点击一个链接访问页面B时,浏览器发起对页面B的请求会包含Referer字段,值为页面A的URL。

  1. Host(主机)【Remote Address】
    表示目标资源所在服务器的主机名和端口号。它是一个必须存在的请求头,用于指定请求的目标。在虚拟主机的环境中,Host字段可以帮助服务器区分请求是针对哪个虚拟主机的,从而返回正确的内容。

例如,请求头中的Host字段可能为:Host: www.example.com:8080

  1. Origin(来源):
    用于处理跨域资源共享(CORS)请求。它表示请求的发起方的源(协议、域名和端口)。服务器会根据这个字段来判断是否允许跨域请求。与Referer不同,Origin只包含源信息,不包含具体的URL路径

例如,请求头中的Origin字段可能为:Origin:https://www.example.com

总结(三个字段的作用场景是不同的):

  • Referer表示请求发起的具体页面URL,用于识别用户从哪个页面发起请求。
  • Host表示请求的目标服务器的主机名和端口号,用于指定请求的目标。
  • Origin表示请求的发起方的源(协议、域名和端口),主要用于处理跨域资源共享(CORS)请求。
相关推荐
Emily1568535987014 小时前
Emerson 1C31129G03 Analog Input Module
java·开发语言·前端·plc·emerson·1c31129g03·input module
To_OC19 小时前
面试被问了三回三栏布局,这次我终于把 BFC 那层窗户纸捅破了
前端·css·面试
To_OC19 小时前
啃完 TS 工具类型我发现:Pick 和 Omit 原来就是一层窗户纸
前端·面试·typescript
风月说与山鬼20 小时前
三、大括号语法
前端·react.js
kyriewen21 小时前
我把最常踩的8个CORS跨域报错整理了一遍——第8个去年还不存在
前端·javascript
Csvn21 小时前
🕰️ 闭包 + setTimeout 的 5 个经典陷阱:为什么定时器看到的永远不是最新的值?
前端
lilian2331 天前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
CarIise1 天前
CSS选择器与样式关联
前端·css·tensorflow
里欧跑得慢1 天前
CSS 模块化架构的演进:BEM、CSS Modules 到 CSS-in-JS 的反思
前端·css·flutter·web·css-in-js