同源政策和提取请求
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
在此 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,请参阅安全地共享跨源资源。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2018-11-05。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2018-11-05\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2018-11-05。"],[],[]]