据我所知,有三种类型:
不要使用GET和POST 不要使用POST而使用GET 你用哪一个都不重要。
我对这三种情况的假设正确吗?如果有,每个案例都有哪些例子?
据我所知,有三种类型:
不要使用GET和POST 不要使用POST而使用GET 你用哪一个都不重要。
我对这三种情况的假设正确吗?如果有,每个案例都有哪些例子?
当前回答
HTTP Post数据对数据量没有指定的限制,因为不同的浏览器对GET有不同的限制。RFC 2068声明:
服务器应谨慎 取决于URI长度大于255 字节,因为一些旧的客户端或 代理实现可能不正确 支持这些长度
具体来说,您应该根据它们的用途选择正确的HTTP结构。HTTP GET不应该有副作用,可以被HTTP代理等安全地刷新和存储。
当您想要针对url资源提交数据时,使用HTTP POST。
使用HTTP GET的一个典型示例是在搜索中,即搜索?查询=我+查询 使用HTTP POST的一个典型示例是向在线表单提交反馈。
其他回答
Gorgapor, mod_rewrite仍然经常使用GET。它只是允许将一个更友好的URL转换为一个带有GET查询字符串的URL。
POST可以移动大数据,而GET不能。
但一般来说,这不是关于GET的缺点,而是一种惯例,如果你想让你的网站/web应用程序表现良好。
看看http://www.w3.org/2001/tag/doc/whenToUseGet.html
当我不希望人们看到QueryString或当QueryString变大时,我使用POST。另外,文件上传需要POST。
不过,我不认为使用GET有问题,我将它用于简单的事情,其中将内容保留在QueryString上是有意义的。
使用GET将允许链接到POST无法工作的特定页面。
除了许多浏览器的长度限制不同之外,还有语义上的差异。get应该是“安全的”,因为它们是只读操作,不会改变服务器状态。post通常会改变状态,并在重新提交时给出警告。搜索引擎的网络爬虫可能会生成get,但不应该生成post。
如果希望读取数据而不改变状态,则使用GET;如果希望更新服务器上的状态,则使用POST。
我的一般经验法则是,当您向服务器发出不打算改变状态的请求时使用Get。post是为更改状态的服务器请求保留的。