在此 Codelab 中,了解在提取资源时同源的作用。
设置:从同一来源提取网页
演示版托管在 https://same-origin-policy-fetch.glitch.me
上。此简单网页使用 fetch
从 https://same-origin-policy-fetch.glitch.me/fetch.html
加载资源。由于 index.html
和 fetch.html
具有相同的源,因此您应该会在实时预览中看到 200
。
1. 从其他来源提取网页
请尝试将提取网址更改为 https://www.google.com
。您在实时预览中看到了什么?
由于您请求的资源来自其他来源,浏览器应该会屏蔽提取请求。这意味着,即使攻击者控制了用户的浏览器,也无法读取跨源资源。
2. 提取跨源资源
请尝试将提取网址更改为 https://api.thecatapi.com/v1/images/search
。您在实时预览中看到了什么?
提取网址是不同的来源,但您应该会看到状态代码 200。变化原因 现代 Web 应用通常会请求跨源资源,以加载第三方脚本或查询 API 端点。为了适应这些用例,有一个名为 CORS(跨源资源共享)的机制,用于告知浏览器允许加载跨源资源。如需详细了解 CORS,请参阅安全地共享跨源资源。