一尘不染

真正REST的JSONP含义

json

据我了解,JSONP只能使用GET动词来实现。假设我认为这是对的,那么这将排除对真正的REST的核心合规性,在其中,您应出于不同和特定的目的而使用不同的动词,例如GET,PUT,POST,DELETE等。

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

提供JSON服务并声明用户需要服务器端代理才能使用JavaScript XDomain进行消费,这是更好的做法吗?

干杯

安德鲁


阅读 238

收藏
2020-07-27

共1个答案

一尘不染

据我了解,JSONP只能使用GET动词来实现。

是。

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

这排除了对真正REST的核心合规性,您应该在其中使用不同的动词,例如GET,PUT,POST,DELETE等

是。

我不太担心将REST作为抽象标准进行“遵从”,但是如果流浪,可泄漏,可缓存的GET请求偶然产生副作用,这是一个真正的问题。

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

2020-07-27