目前,他正在阅读Bloch的“有效Java”(第二版),他指出,在web应用程序中过度使用帖子本质上是不好的。不幸的是,他没有说明原因。
这让我大吃一惊,因为当我做任何网站开发时,我所使用的都是帖子!出于安全原因,我总是避开GET,因为它感觉更专业(长而难看的URL总是因为某种原因而困扰我)。
GET和POST之间是否存在性能差异?有人能详细说明为什么过度使用帖子是不好的吗?为什么?我的理解--以及初步的搜索--似乎都表明这两项都是由web服务器处理的。提前感谢!
发布于 2011-10-18 16:58:53
您应该使用HTTP,因为它应该被使用。
GET应用于幂等查询、读取查询(即查看项目、搜索产品等)。
POST应用于创建、删除或更新请求(即删除项目、更新配置文件等)。
获取允许刷新页面,书签,发送URL给某人。邮政不允许这样做。一个有用的模式是邮寄/重定向/得到 (AKA在post后重定向)。
注意,除了长搜索表单之外,GET URL应该是短的。它们通常看起来应该像http://www.foo.com/app/product/view?productId=1245,甚至是http://www.foo.com/app/product/view/1245
发布于 2011-10-18 17:02:50
在请求内容时,几乎总是应该使用GET。只有在以下情况下才使用POST:
POST进行更改,PUT使用添加,DELETE使用删除)。区别在于:如果您想将指向页面的链接提供给朋友,或者将其保存在某个地方,甚至只是将其添加到您的书签中,则需要页面的完整网址。就像你的地址栏现在应该写http://stackoverflow.com/questions/7810876/abusing-http-post一样。你可以这样做。你可以拯救它。再次输入该链接,您将返回到此页面。
现在,当您使用GET以外的任何操作时,根本就没有要复制的URL。就像你的浏览器会说你在http://stackoverflow.com/question。你不能复制。你不能用书签。此外,如果你尝试重新加载这个页面,你的浏览器会问你是否想再次发送数据,这对非科技用户来说是相当令人困惑的。对其他人来说也很烦人。
但是,在传输数据时,应该使用POST/PUT。URL只能这么长。您不能在URL中传输整个博客文章。另外,如果您重新加载这样的页面,您几乎肯定会双发帖,因为上面描述的消息不会出现。
GET和POST是非常不同的。为这份工作选择合适的。
发布于 2011-10-18 17:02:10
如果您使用POST是出于安全原因,我可能在这里不提其他安全因素。即使使用POST,也需要确保以加密的形式发送来自表单提交的数据。
至于GET和POST之间的区别,它就像GET用于发送GET请求一样简单。因此,您可能希望从页面中获取数据并对其进行操作,这就是一切的结束。
另一方面,POST用于将数据发布到应用程序。我在这里讨论的是事务(完成创建、更新或删除操作)。
如果有需要删除用户的敏感应用程序,例如和ID。您可能不想使用GET,因为在这种情况下,一个机智的用户可能会引起混乱,只需在URL末尾更改ID并删除所有随机使用。
POST允许更多的数据,也可以被黑来发送文件流。不过,GET的尺寸有限。
在使用GET或POST时几乎没有任何折衷。
https://stackoverflow.com/questions/7810876
复制相似问题