1
5
CRUD/查询最好用HTTP谓词表示。创建和更新通常是PUT或POST。检索就是获取。删除就是删除。这就是通常的映射。主要的一点是GET不会引起副作用,而且动词做了你期望它们做的事情。 做 不过,我们强烈建议 不 通过URL传递动词。 对API进行版本设置的“最佳”方法是在每个请求的基础上使用HTTP头;这允许客户端升级/降级特定请求,而不是每个请求。当然,这种版本控制的粒度需要在一开始就考虑进去,这可能会使服务器端代码严重复杂化。大多数人只是使用URL访问服务器。一个较长的解释是 blog post by Peter Williams, "Versioning Rest Web Services" 没有最佳返回数据类型;这取决于你的应用程序。JSON对于Ajax网站可能更容易,而XML对于想要用Xpath查询的复杂结构可能更容易。协议缓冲区是第三种选择。它还讨论了在URL或HTTP头中指定返回协议是否更好。 在大多数情况下,头对缓存的影响最大,因为代理在被告知时应该尊重它们,用户代理也是如此(不过,显然UA的行为不同)。仅基于URL的缓存非常依赖于层。一些用户代理不缓存任何带有查询字符串的内容(Safari、iirc),代理可以根据自己的需要自由缓存或不缓存。 |
Julian Koster · $\u发布内容的持续时间(生存期) 6 年前 |
chris hyun ho kim · 用于“拆分”记录的HTTP谓词 6 年前 |
Ian.V · Golang CSRF在结构中保存模板字段 6 年前 |