.net - JSONP 对真正 REST 的影响

标签 .net json rest soa jsonp

根据我的理解,JSONP 只能使用 GET 动词来实现。假设这是真的,我认为这是真的,那么这排除了对真正 REST 的核心合规性,在这种情况下,您应该使用不同的动词,即 GET、PUT、POST、DELETE 等......用于不同的特定目的。

我的问题是,如果我说允许使用 JSONP 服务使用 get 请求更新和删除资源,我可能会遇到什么类型的障碍。

提供 JSON 服务并声明用户需要服务器端代理来使用 JavaScript XDomain 是否更好?

干杯,

安德鲁

最佳答案

From my understanding JSONP can only be achieved using the GET verb.



是的。

幸运的是,简单的幂等信息 GET 请求是跨域 JSON 最常见的用例。

this rules out core compliance with true REST in which you should make use of different verbs i.e. GET,PUT,POST,DELETE etc



是的。

我不太担心“遵守”作为抽象标准的 REST,但如果杂散的、可泄漏的、可缓存的 GET 请求可能会意外产生副作用,这是一个真正的问题。

您可以使用一些策略来降低出现此类问题的可能性,例如要求每个 API 用户和/或一次性使用提交 key 作为参数以允许操作继续进行。如果您允许通过 JSONP 对 API 进行写访问,您无论如何都需要考虑这种事情,以防止 XSRF 攻击。

关于.net - JSONP 对真正 REST 的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2943103/

相关文章:

.net - 如何在 JSON .NET 上对属性名称强制使用引号

c# - 如何在C#中声明和使用数组

javascript - 需要转换JSON格式

api - 可以使用 HTTP DELETE 停用记录吗?

c# - JIT 如何知道在哪里寻找 csc.exe?

.net - 每 4 分钟完整备份运行的 SQL Server 数据库的影响

json - 使用 GO 从文件中解码 JSON 内容并使用 GO 模板包生成 .go 文件

java - Jackson库的ANDROID使用: How to load object with indexes - range from to

linux - Linux 的命令行 RESTful 服务调用程序?

javascript - 如何在 Backbone.js 的 View 中获取模型属性?