首页 > 作文

HTTP Referer

更新时间:2023-04-07 06:06:50 阅读: 评论:0

什么是referer?

referer是http请求头信息里面的一个常见字段,它提供了访问来源的信息。比如说,在某网站上看到一个广告并点了进去,那么我就可能会在http 协议在请求(request)的头信息里面看到referer这一字段给出“引荐网页”的url,让人知道我们是通过“某网站”进入的这个广告页。

referer存在的条件

在浏览器向服务器请求资源的时候,referer字段并不是总是存在的,其中在以下几种情况中会发送referer字段

1.点击网页上的连接

2.提交表单(post或get)

3.网页加载静态资源,比如加载图片、脚本、样式(js的script标签及html中img标签的src属性)。

以下是几种获取不到referer的几种情况

1.直接在浏览器内输入url

2.通过浏览器内的书默默的等签或收藏

3.第三方软件内容中的连接(如word,excel等)

4.从https的家长意见怎么写网站跳转到http的网站或ssl认证网站跳入

那么referer有什么作用呢?

1.通过referer我们可以知道访问来源的信息,所以可以用来做一些网站流量的来路统计

2.防止图片盗链,当我们不希望自家网站图片外链被其他网站加载时,就可以基于referer字段来实现,可以通过判断该字段是否是自家url或者是属于白名单里的url如果是则放行允许加载。

3.在某些情境下我们不希望暴露当前的原始网址,比如一个社交网站会有每个用户的简介页面,用户会在他们的个人主页中添加一些链接。社交网站可能不希望泄露用户的个人主页url给被链接的网站(因为个人主页url可能会泄露其主人的身份信息)。
一些社交网站可能想通知其他网站该链接是从社交网站发起的,但不想泄露包含用户信息的链接(例如,微博中的链接希望告诉对方该链接是在微博中连接过来的,但不希望告诉对方从谁的微博连接过来)。

referrer策略

referrer策略包含以下值:

空字符串:空字符串表示没有referrer策略,默认为no-referrer-when-downgrade。no-referrer:最简单的策略是“n读三国演义有感600字o-referrer”,表示所有的请求都不带referrer。no-referrer-when-downgrade:主要针对于受tls保护的url(如https),简单的说就是https的页面中,当连接的资源也是https的,则发送完整的referrer,如果连接的资源是http的,就不发送referrersame-origin:对于同源的链接,会发送referrer,其他的不会。origin:这个策略对于任何资源来说只发送源的信息,不发送完整的url。strict-origin:这个策略类似于origin和no-referrer-when-downgrade的合体,如果一个https页面中链接到http的页面或资源,则不会发送referrer。http页面链接以及https链接到https都只发送来源页面的源信息。origin-when-cross-origin:该策略在同源的链接中发送完整的url,其他情况仅发送源信息。相同的域名,http和https协议被认为是非同源的。strict-origin-when-cross-origin:对于同源请求,发送完整的url;对于同为https的,只发送源信息;对于http页面只发送源信息;https页面中的http请求不发送referrer。unsafe-url:这个主要是解决https页面中的http资源不发referrer的问题,它会使在https页面中http资源发送完整的referrer。

referrer策略可以通过以下方法声明:
1.通过http请求头中的referrer-policy字段,例:referrer-policy: no-referrer
2.通过me茂密的反义词ta标签,name为referrer,例:<meta name=”referrer” content=”no-referrer” />
3.通过<a>、<area>、<img>、<iframe>、<link>元素的referrerpolicy属性。例:<ahref=“http://example.com”referrerpolicy=“origin”>
4.通过<a>、<area><link>元素的rel=noreferrer属性,例:<a href太阳系八大行星=’http://example.com’ rel=”noreferrer” target=”_blank”>test</a>
5.通过隐式继承

注意事项
referrer策略还有其他历史遗留的值:
1.never等价于no-referrer
2.default等价于no-referrer-when-downgrade
3.always等价于unsafe-url
4.不建议使用上面三个值,建议使用后面的新值

兼容性
ie:不支持(ie高版本中隐式支持default,https页面拉取的http资源不会加referrer)
edge:仅支持较早版本的值(never、always、origin、default)
firefox:36+
chrome:21+
safari:7.1+(仅支持较早版本的4个值)
opera:15+
ios safari:8+(仅支持较早版本的4个值)

参考:

本文发布于:2023-04-07 06:06:49,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/3cc4c65e25b6a59d4563a20f1f625517.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:HTTP Referer.doc

本文 PDF 下载地址:HTTP Referer.pdf

标签:页面   链接   网站   字段
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图