目前正在阅读 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/