【问题标题】:How Would You Use PUT or DELETE HTTP Requests On a Modern Website您将如何在现代网站上使用 PUT 或 DELETE HTTP 请求
【发布时间】:2013-12-24 10:21:25
【问题描述】:

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

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

现代网页设计中是否有任何地方可以处理 PUT 和 DELETE 请求?如果有,有哪些例子?

【问题讨论】:

标签: http put


【解决方案1】:

这是我根据合同编写的社交媒体网站的真实示例:

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

GET to that route 显示他们的整个博客(最近的几篇文章,以及带有某些参数的 ajax 调用获取更多)。

POST 到该路由会在该用户的博客上创建新的博客文章。

在 POST 之后,在 .../(post id)/(slug)/ 处创建一个新路由

一个 GET 只获取该帖子。

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

DELETE 删除帖子。

我们对视频、cmets 等使用相同的方案。

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

如今,由于其他原因,我们最终不得不使用 JavaScript 提交表单,因此缺乏对 HTML 表单的支持已经不是什么大问题了。而且我们没有任何与网络服务器限制相关的问题,至少自从 Heroku 在一年前取消了他们的请求路由 HTTP 方法限制之后。

【讨论】:

  • 这是很棒的表格。虽然我不认为我见过这样的实现
猜你喜欢
  • 2010-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-21
  • 1970-01-01
  • 2012-08-21
相关资源
最近更新 更多