范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

HTTP头字段OriginHost和Referer有什么区别?

  大家好,我是前端西瓜哥。
  HTTP 请求头字段中的 Origin、Host 和 Referer 非常相似,乍一看都是域名相关的值,非常容易弄混。我在面试中也被问过,因为没准备好而哑口无言。
  今天西瓜哥我来带领大家学习这三个头字段,务必学完后能好好分清楚它们。   Origin
  Origin 由三部分组成:  scheme:协议,如   http   、 https   。 host:域名或 IP 地址。如   127.0.0.1   、 juejin.cn   。 port:端口,可选。如果省略,默认为当前协议的默认端口(如 HTTP 的 80、HTTPS 的 443)
  这些内容会从请求 url 中提取,其他的部分会被丢弃掉。
  此外,Origin 的值也可能为 null。  # 示例 Origin: http://a.com:8080 Origin: http://b.com Origin: https://juejin.cn Origin: null
  Origin 会在跨域请求时带上,服务端据此判断是否允许跨域 ,是 CORS 机制的重要一环。
  如何通过 CORS 让一个请求能够正常跨域比较复杂,可以看我写的这一篇文章:《浏览器跨域请求的机制:CORS》
  在非 GET 和 HEAD 方法的同源请求中,浏览器也会加上 Origin 。西瓜哥对此不太理解,为什么同源也要加 Origin。我觉得对于同源请求,要么都别加 Origin,要么就全都加上。 Host
  Host 由两部分组成:  host:域名或 IP 地址  port:端口,可选项。  # 示例 Host: a.com:5500 Host: a.com
  在 HTTPS 下,你在浏览器的开发者工具可能会看到这个玩意:  :authority   。这是 HTTP2 协议中定义的伪头字段,向后兼容 HTTP1,对应 Host。
  Host 可以用于代理,当多个域名指向同一个 IP 时,Web Server 可以通过 Host 来识别并提供不同的服务。
  如下面的 Nginx 配置就是将   blog.fstars.wang    和  static.fstars.wang    做了代理,虽然都指向同一台机器,但可以根据 Host 提供两套独立的服务。 server {     # 博客页面     server_name  blog.fstars.wang;     location / {         proxy_pass   http://localhost:3000;     } } server {     # 图片等资源     server_name  static.fstars.wang;     location / {         root   /www/static/;     } } Referer
  当前请求的来源页面。
  值为  来源页面 url 移除掉 fragment 和 userinfo 后的结果 。
  fragment 就是锚点,比如   https://blog.fstars.wang/posts/what-is-bezier-curve-and-draw-by-canvas/#chapter1    的  #chapter1    ,它表示打开页面后,滚轮定位到的位置。
  userinfo 则是用户的信息,如   https://username:password@example.com/foo/bar/    中的  username:password   。
  fragment 代表的页面滚动位置比较多余,userinfo 则是敏感信息,故而会被丢弃。
  下面看看不同情况下会怎么携带 Referer
  从页面   https://nginx.org/    跳转到  https://nginx.org/2021.html    的时候,请求页面 url 时,就会带上 Referer: https://nginx.org/
  对于页面中的图片来说,则带上当前页面的 url。
  所以可以用来做图片防盗链,当 Referer 不在白名单中,就返回 403,或返回一个比较小的 "你盗我的图了" 的图片,或重定向到不要自己钱的公域图片上。  结尾
  简单总结一下:  Origin:协议+域名+端口,主要用于跨域。  Host:域名+端口,HTTP2 对应字段为 :authority,主要用于服务器区分服务。  Referer:去掉 fragment(锚点)和 userinfo(用户信息)的 url,用于确认请求的来源页面。
  我是前端西瓜哥,一名喜欢分享的前端开发,最近在学习 HTTP 知识,欢迎关注我。

嵌入式培训面向初学者的Linux目录结构Linux目录结构就像一棵树,Linux文件系统层次结构的基础从根开始,目录将从根开始分支,但所有内容都从根开始。参加嵌入式培训,可以学到很多关于Linux的知识,帮你快速入门。L2500元就能买到的真香机。870处理器5000mAh大电池这是9。22号下午三点发布的真我最新款。处理器处理器搭载了高通骁龙8705G处理器,这款CPU的主频高达3。2GHz,采用7nm的制成工艺,功耗更低,性能却不减。强悍实力与低功耗相iPhone开始测试挖孔屏,难道要放弃FaceID?近日数码闲聊站爆料,有款新iPhone正在测试120Hz打孔屏,而上月王腾也曾透露下一代苹果会用挖孔屏,可见消息还是挺准确的。去掉刘海后,FaceID怎么办?用屏下指纹代替,屏下指iPhone14ProMax代号曝光,去除刘海4800万主摄2TB容量,等到了近几年,苹果在外观和硬件上的升级依旧采用挤牙膏的模式,导致不少果粉宁愿换个新电池,继续使用老款机型,稳稳地当个钉子户,也不愿意更换新机,只为等一款彻底改变现状的iPhone真旗舰机红米Note11Pro再确认,IP68防水6000mAh120W,售价已定1999起如今的千元机市场竞争也很残酷,各种性价比新机层出不穷,不断涌现。再加上高端机价格持续走高,如华为荣耀高端机的价格已经到七八千,有多少人能消费得起?现在消费者都更青睐于中端市场,各大大容量高性价比固态硬盘,铭瑄复仇者M。21T因为挖矿热潮的关系,市场上机械硬盘的价格翻了几番,相信普通玩家已经对之望而却步。不过好在曾经高高在上的NVMe高速固态硬盘的价格有所松动,特别是有几款产品的性价比十分突出,例如我这苹果为什么不买华为的基带?首先说的是,苹果购买华为基带的可能性不大,华为自家的手机出货量超过1亿台,苹果也是出货量大户。1关于苹果采购华为基带华为基带仅能满足自家需求,另一方面目前来看华为并没有出售自家基带买华为支持国货,还是为了系统买iPhone13,你会怎么做?坚决买华为支持国货,从爱国的角度讲,现在中国和美国的争斗这么激烈,中国人肯定要支持自己的民族品牌。从使用体验和信息安全的角度讲,华为的信息安全架构那是百分百放心的,华为的鸿蒙操作系黑华为,黑国产的是同一批人吗?他们是不是同一批人,并不一定,但他们的目的就是为了获得自己的利益我认为是两类人,一种是品牌的极端粉,只是看问题的角度不同而黑华为。而另一种是怀有险恶目的,它们对中国社会制度强烈抵触诺基亚为何宁可逐渐走向没落也不采用Android系统?昔日手机霸主诺基亚未能搭上智能手机的快车,而逐渐走向没落,为什么诺基亚不采用Android系统呢?诺基亚如何走向辉煌诺基亚,1865年在芬兰创立,是一家主要从事移动通信设备生产和相借呗花呗逾期两个多月,还没催收,需要主动联系支付宝报备吗?不需要。因为你逾期之后,不管你有没有报备,支付宝肯定都会催收。当然,如果你能在一两个月之内确定能还上欠款,那你可以和支付宝说明自身情况协商沟通,取得他们的同意,延期还款。如果你没有