据我所知,有三种类型:
不要使用GET和POST 不要使用POST而使用GET 你用哪一个都不重要。
我对这三种情况的假设正确吗?如果有,每个案例都有哪些例子?
据我所知,有三种类型:
不要使用GET和POST 不要使用POST而使用GET 你用哪一个都不重要。
我对这三种情况的假设正确吗?如果有,每个案例都有哪些例子?
当前回答
如果您不介意请求被重复(即它不会改变状态),请使用GET。
如果操作确实改变了系统的状态,则使用POST。
其他回答
最初的目的是GET用于获取数据,而POST用于任何用途。我使用的经验法则是,如果我要向服务器发送任何东西,我就使用POST。如果我只是调用一个URL来获取数据,我会使用get。
在PHP中,POST数据限制通常由PHP .ini设置。GET受到服务器/浏览器设置的限制——通常在255字节左右。
当您希望URL反映页面的状态时,请使用GET。这对于查看动态生成的页面非常有用,比如这里看到的页面。POST应该在表单中用来提交数据,就像我点击“POST Your Answer”按钮一样。它还生成了一个更干净的URL,因为它没有在路径后生成参数字符串。
重要的一点是,你通过GET提交的任何东西都会通过URL被暴露。其次,正如Ceejayoz所说,URL的字符数量是有限制的。
因为get是纯粹的url,它们可以被web浏览器缓存,并且可能更好地用于一致生成的图像之类的事情。(设置过期时间)
一个来自gravatar页面的例子:http://www.gravatar.com/avatar/4c3be63a4c2f539b013787725dfce802?d=monsterid
GET可能会产生稍微更好的性能,一些web服务器在调用处理程序之前将POST内容写入临时文件。
另一件需要考虑的事情是尺寸限制。get的上限是URL的大小,标准是1024字节,不过浏览器可能支持更多。
传输更多的数据应该使用POST来获得更好的浏览器兼容性。
即使小于这个限制也是一个问题,正如另一个帖子所写的,URL中的任何内容都可能最终出现在浏览器UI的其他部分,比如历史记录。