从浏览器的 img 请求中获取来源

Posted

技术标签:

【中文标题】从浏览器的 img 请求中获取来源【英文标题】:Getting origin from browser's img request 【发布时间】:2019-07-12 23:52:32 【问题描述】:

我正在构建一个提供图像的 API。这些图像是通过经典的 img 标签(例如 <img src="myapi.com/random" />)从浏览器加载的。

此图像标签使用 api 托管在不同的网站上。在我的服务器上,我想记录发出请求的来源。

到目前为止,我的研究得出的结论是 img/src 属性不受 CORS 约束,因此浏览器不会在请求中添加 origin 标头。

有没有其他方法可以让我知道浏览器的请求来自哪个域?

【问题讨论】:

***.com/questions/47978252/… 是的,您的链接证实了我所说的关于 CORS 和 img 标签的内容。所以我们知道浏览器没有在请求中添加 x-cross-origin 标头。那么问题来了,有没有办法知道请求来自哪里? 【参考方案1】:

好的,有人在 Twitter (https://twitter.com/andyhattemer/status/1097847557395496960) 上回复了我。

对于图像标签,添加了referer 标头。我无法看到它,因为到目前为止我收到的所有请求都来自我自己的域,该域获得了一个空引用。

【讨论】:

以上是关于从浏览器的 img 请求中获取来源的主要内容,如果未能解决你的问题,请参考以下文章

JSONP跨域请求

Spring Boot 2从入门到入坟 | 请求参数处理篇:常用参数注解之@RequestHeader

Spring Boot 2从入门到入坟 | 请求参数处理篇:常用参数注解之@RequestHeader

假设业务需要,在页面一屏中一次性展示大量图片(100张),导致img组件同时发起大量的请求,导致浏览器性能被消耗殆尽,页面卡死。怎么优化?

跨域AJAX

在django中解决跨域AJAX