我有一个网站从另一个网站加载资源。我已经能够确定:
我想知道是否可以从网站上提供某种标头或其他指令,这些标头或指令可以对用户产生与禁用第三方Cookie相同的效果,但是并不需要它们随便看看它们的设置。
答案 0 :(得分:0)
通常,不可能阻止您的浏览器在HTTP请求中包含cookie。但是,最近,向浏览器添加了一些获取资源的新方法。
使用Fetch API: fetch
在响应中忽略Set-Cookie
,除非指定,否则不包括Cookie
。
使用ES6(ES2015)模块: <script type="module" ...>
如果没有crossorigin
属性,将不会发送Cookie
。它不适用于非模块脚本,并且必须配置服务器(而不是您的服务器,一个用于服务文件),以使用有效的CORS标头为文件提供服务。用import * from blah.com/script.js
导入的脚本也将以相同的方式运行。遵循link以获得更多信息。
crossorigin="anonymous"
:具有script
的资源元素,例如img
,style
和crossorigin="anonymous"
将不包含{{1 }}标头中的后续请求。但是这些都可以通过使用Cross-Origin Resource Sharing (CORS)来工作,并且如果将资源服务器配置为不允许没有凭据(cookie和其他标头)的请求,它们将无法工作。您可能会收到404或其他错误。
如果您担心第三方Cookie,通常最好从您自己的服务器或像大多数CDN一样的无cookie的服务器中提供静态数据。