http - 滥用 HTTP POST

标签 http web-applications

目前正在阅读 Bloch 的Effective Java(第 2 版),他以粗体字指出,在 Web 应用程序中过度使用 POST 本质上是不好的。不幸的是,他没有具体说明原因。

这让我大吃一惊,因为当我进行任何 Web 开发时,我使用的都是 POST!出于安全原因,我一直避开 GET,因为它感觉更专业(由于某种原因,又长又难看的 URL 总是困扰我)。

GET 和 POST 之间是否存在性能差异?谁能详细说明为什么过度使用 POST 不好,为什么?我的理解 - 和初步搜索 - 似乎都表明这两个是网络服务器非常相似的处理方式。提前致谢!

最佳答案

您应该使用 HTTP,因为它应该被使用。

GET 应用于幂等的读取查询(即查看项目、搜索产品等)。

POST 应用于创建、删除或更新请求(即删除项目、更新配置文件等)

GET 允许刷新页面、为其添加书签、将 URL 发送给某人。 POST 不允许这样做。一个有用的模式是 post/redirect/get (也称为发帖后重定向)。

请注意,除了长搜索表单外,GET URL 应该很短。它们通常应该看起来像 http://www.foo.com/app/product/view?productId=1245 ,甚至 http://www.foo.com/app/product/view/1245

关于http - 滥用 HTTP POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7810876/

相关文章:

javascript - 如何在 chrome 上更改不安全(http)网站的站点设置?

python - 防止下载过大的文件

wordpress - wp_remote_post 响应体被保护

java - 查找java web项目(wsdl)中的所有Web服务

Javascript onclick 函数调用问题 : won't pass a string

php - 隐藏标题发布数据

http - 往返 HTTP cookie 恰好一次

visual-studio-2010 - Visual Studio 调试器不会在 IE10 窗口关闭时停止

.net - 如何评估我的 ASP.NET Web 应用程序是否容易被入侵?

asp.net web 应用程序启动时间。如何优化?