Pra*_*ire 6 javascript api ajax cors
我确信我不是唯一一个在对外部(甚至内部)API端点进行API调用时使用/使用CORS插件浏览器或--disable-web-security标记的人.我使用此插件来制作与Google Maps相关的API调用.但在同一个应用程序中,ParseSDK API调用不需要CORS或--disable-web-security标记.
我的问题是:为什么这些端点的行为不同,CORS插件如何解决问题(即使我们无法控制这些API)?
提前致谢.
嗯,这个插件所做的事情是非常不负责任的;它实际上禁用了同源策略,该策略强制特定源上的网站只能向该源发出请求。
同源策略实际上只是阻止网站读取 GET/POST 请求的响应(请求本身已发出),因为它被认为是安全的。
随着时间的推移,这种良好的安全功能变成了一种负担,人们使用了 JSONP 等解决方法。
因此,我们有了一种新的、标准化的方式来获取外国来源:
CORS(跨源资源共享)是一种允许 Web 服务器指定允许另一个源访问其内容的机制。这样做Access-Control-Allow-Origin: example.com允许 example.com 访问响应,即使响应来自不同的来源。
它还Access-Control-Allow-Credentials: true允许在请求中发送凭据,其中包括 cookie 和 HTTP 基本身份验证。
您还可以指定 通配符Access-Control-Allow-Origin: *,允许所有网站访问此响应。但是,当您执行此操作时,您必须指定Access-Control-Allow-Credentials: false,因此不会公开任何凭据。
这是在互联网上实现公共可访问的 AJAX API 的唯一正确方法。
然而这个插件只是简单地完全禁用同源策略,这是极其危险的。
| 归档时间: |
|
| 查看次数: |
1643 次 |
| 最近记录: |