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

3
在现代的网页设计中,GET 和 POST 请求有明确的区别。GET 用于在不需要安全性的情况下检索信息。POST 传输数据而不附加在 URL 上,并应用于在服务器上操作数据。
HTTP 指定使用 PUT 来更新单个记录,使用 DELETE 来删除数据。但是,在现代的网页设计中,这两种请求类型很少被实现。HTML 表单只允许 GET 和 POST,并且很多 web 服务器默认阻止 PUT 和 DELETE 关键字。
那么,在现代的网页设计中是否有适用 PUT 和 DELETE 请求的场景?如果有,有哪些例子呢?

你可能会在这里找到一些有用的信息:https://dev59.com/92ct5IYBdhLWcg3wXsQy - LuFaMa
1个回答

4
这里有一个我曾为社交媒体网站编写的真实案例:
每个用户都有一个(用户名)/博客路由。
访问该路由会显示他们整个博客(最近几篇文章和带有某些参数的ajax调用可获取更多内容)。
在该路由上进行POST操作会在该用户的博客中创建新的博客文章。
在POST后,将创建一个新的路由,格式为.../(文章id)/(slug)/。
对该路由进行GET访问可以仅获取该文章。
使用PUT方法可编辑该文章而不更改路由。
使用DELETE方法可删除该文章。
我们将相同的方案应用于视频、评论等等。
这是基于REST设计策略的。POST用于创建新资源。PUT用于替换现有资源。DELETE用于删除。GET从服务器获取信息时不修改其状态。
由于我们最终出于其他原因使用JavaScript进行表单提交,因此缺乏HTML表单支持并不是什么大问题。至少自从一年前Heroku删除了其请求路由HTTP方法限制以来,我们没有遇到与Web服务器限制相关的任何问题。

这是一个很棒的表单。虽然我不认为我曾经见过类似这样的实现。 - Lloyd Banks

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接