您将如何在现代网站上使用PUT或DELETE HTTP请求

时间:2013-12-06 22:14:38

标签: http put

在现代网页设计中,GET和POST请求之间有明确的界限。 GET用于在安全性不重要的上下文中检索信息。 POST传输数据而不附加到URL,应该用于操作服务器上的数据。

HTTP指定PUT应该用于更新单个记录,DELETE应该用于删除数据。但是现代网页设计中几乎没有实现这两种请求类型。 HTML表单只允许GET和POST,并且大量的Web服务器默认阻止PUT和DELETE关键字。

PUT和DELETE请求在现代网页设计中是否有任何地方?如果是这样,有什么例子?

1 个答案:

答案 0 :(得分:4)

以下是我在合同中编码的社交媒体网站的真实例子:

每个用户都有(用户名)/博客路线。

GET到那条路线显示了他们的整个博客(最近几个帖子,以及带有某些参数的ajax调用提取更多)。

POST到该路由会在该用户的博客上创建一个新的博客帖子。

POST后,在... /(post id)/(slug)/

创建新路线

GET只能获取该帖子。

PUT编辑该帖子而不更改路线。

DELETE删除帖子。

我们对视频,评论等使用相同的方案。

这是基于REST设计策略。 POST用于创建新资源。 PUT用于替换现有资源。删除删除。在不改变服务器状态的情况下获取GET。

由于我们最终不得不出于其他原因使用JavaScript进行表单提交,因此缺乏HTML表单支持并不是什么大不了的事。我们没有任何与网络服务器限制有关的问题,至少自从一年前Heroku删除了他们的请求路由HTTP方法限制。