在现代网页设计中,GET和POST请求之间有明确的界限。 GET用于在安全性不重要的上下文中检索信息。 POST传输数据而不附加到URL,应该用于操作服务器上的数据。
HTTP指定PUT应该用于更新单个记录,DELETE应该用于删除数据。但是现代网页设计中几乎没有实现这两种请求类型。 HTML表单只允许GET和POST,并且大量的Web服务器默认阻止PUT和DELETE关键字。
PUT和DELETE请求在现代网页设计中是否有任何地方?如果是这样,有什么例子?
答案 0 :(得分:4)
以下是我在合同中编码的社交媒体网站的真实例子:
每个用户都有(用户名)/博客路线。
GET到那条路线显示了他们的整个博客(最近几个帖子,以及带有某些参数的ajax调用提取更多)。
POST到该路由会在该用户的博客上创建一个新的博客帖子。
POST后,在... /(post id)/(slug)/
创建新路线GET只能获取该帖子。
PUT编辑该帖子而不更改路线。
DELETE删除帖子。
我们对视频,评论等使用相同的方案。
这是基于REST设计策略。 POST用于创建新资源。 PUT用于替换现有资源。删除删除。在不改变服务器状态的情况下获取GET。
由于我们最终不得不出于其他原因使用JavaScript进行表单提交,因此缺乏HTML表单支持并不是什么大不了的事。我们没有任何与网络服务器限制有关的问题,至少自从一年前Heroku删除了他们的请求路由HTTP方法限制。