gpt4 book ai didi

jsonp - 那么,JSONP 还是 CORS?

转载 作者:行者123 更新时间:2023-12-03 04:41:27 24 4
gpt4 key购买 nike

我的 WebAPI 部署在内联网环境中。这意味着安全不是我关心的问题。

看来 CORS 对客户端更加友好,并且更容易实现

还有其他我可能忽略的问题吗?

最佳答案

这是一个相当广泛的问题,并且可以保证它本身有一个维基百科。谷歌上也有很多关于这两者的信息,但我想我可以捕获几个关键点。

  • 如果您的服务器需要只读 ajax 接口(interface),并且需要支持 IE<=9、Opera<12 或 Firefox<3.5 或各种其他较旧或晦涩的浏览器,CORS 已过时,请使用 JSONP。 IE8 和 IE9 有点支持 CORS,但有问题,请参阅下面第一条评论中的链接。
  • 另一方面,如果您的 Web API 是读/写(例如完整的 REST 或只是 POST/GET)而不是仅读取(即 GET),则 JSONP 就不再适用。使用 CORS。 JSONP 本质上是只读的。

如果这些都不重要,我会选择您最简单或最熟悉的方式。如果这是一个折腾,请尝试 CORS,因为它是更“现代”的解决方案,而 JSONP 更像是一种 hack,将数据转换为脚本以绕过跨域限制。然而,CORS 通常需要更多的服务器端配置。

如果您使用 jQuery,我不确定您从哪里想到 CORS“对客户端更加友好并且更容易实现”强>。”请参阅https://gist.github.com/3131951 。 jQuery 抽象了 JsonP 的细节,而 CORS 在服务器端实现实际上可能有些棘手,具体取决于您使用的技术。

我最近开发了一个Web应用程序,使用jquery和backbone.js,它从我们控制的各种跨域Web服务中读取数据,最终使用Json-P而不是CORS,因为我们需要支持IE7,而且它是一个服务器端稍微简单一些(我们运行 Django w/DjangoRestFramework),并且在客户端与 jquery 几乎相同。

关于jsonp - 那么,JSONP 还是 CORS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12296910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com