据我所知,有三种类型:
不要使用GET和POST 不要使用POST而使用GET 你用哪一个都不重要。
我对这三种情况的假设正确吗?如果有,每个案例都有哪些例子?
据我所知,有三种类型:
不要使用GET和POST 不要使用POST而使用GET 你用哪一个都不重要。
我对这三种情况的假设正确吗?如果有,每个案例都有哪些例子?
当前回答
Gorgapor, mod_rewrite仍然经常使用GET。它只是允许将一个更友好的URL转换为一个带有GET查询字符串的URL。
其他回答
使用POST进行破坏性操作,例如创建(我知道这很讽刺)、编辑和删除,因为您不能在浏览器的地址栏中点击POST操作。当允许一个人调用一个动作是安全的时候使用GET。URL是这样的:
http://myblog.org/admin/posts/delete/357
应该带你到一个确认页面,而不是简单地删除项目。这样避免事故要容易得多。
POST也比GET更安全,因为您没有将信息粘贴到URL中。因此,使用GET作为收集密码或其他敏感信息的HTML表单的方法并不是最好的主意。
最后一点注意:POST可以比GET传输更多的信息。“POST”没有传输数据的大小限制,而“GET”限制为2048个字符。
当我不希望人们看到QueryString或当QueryString变大时,我使用POST。另外,文件上传需要POST。
不过,我不认为使用GET有问题,我将它用于简单的事情,其中将内容保留在QueryString上是有意义的。
使用GET将允许链接到POST无法工作的特定页面。
第一个重要的事情是GET和POST的含义:
GET应该用来…得到……一些来自服务器的信息, 而POST应该用来向服务器发送一些信息。
在那之后,有几件事可以注意:
使用GET,用户可以在浏览器中使用“后退”按钮,并且可以将页面添加为书签 你可以作为GET传递的参数的大小是有限制的(如果我没记错的话,某些版本的Internet Explorer是2KB);POST的限制更多,通常取决于服务器的配置。
无论如何,我不认为我们可以“生活”没有GET:想想你每天在查询字符串中使用多少带有参数的url——没有GET,所有这些都不能工作;-)
我不认为使用get有什么问题,我用它来做一些简单的事情,在查询字符串上保留东西是有意义的。
使用它来更新状态-像delete.php的GET ?Id =5删除一个页面是非常危险的。人们发现,当谷歌的网络加速器开始在页面上预取url时,它会击中所有的“删除”链接,并清除人们的数据。同样的事情也会发生在搜索引擎蜘蛛身上。
HTTP Post数据对数据量没有指定的限制,因为不同的浏览器对GET有不同的限制。RFC 2068声明:
服务器应谨慎 取决于URI长度大于255 字节,因为一些旧的客户端或 代理实现可能不正确 支持这些长度
具体来说,您应该根据它们的用途选择正确的HTTP结构。HTTP GET不应该有副作用,可以被HTTP代理等安全地刷新和存储。
当您想要针对url资源提交数据时,使用HTTP POST。
使用HTTP GET的一个典型示例是在搜索中,即搜索?查询=我+查询 使用HTTP POST的一个典型示例是向在线表单提交反馈。