使用GET方法和POST方法有什么不同?哪个更安全?它们各自的优点是什么?
(类似问题)
使用GET方法和POST方法有什么不同?哪个更安全?它们各自的优点是什么?
(类似问题)
当前回答
GET方法:
仅用于发送256个字符的日期 使用此方法时,可以在浏览器上看到信息 它是表单使用的默认方法 它不是那么安全。
POST方法:
它用于发送无限数据。 使用这种方法,信息不能在浏览器上看到 您可以显式地提到POST方法 它比GET方法更安全 它提供了更高级的功能
其他回答
最好的答案是第一个。
您正在使用:
当您想检索数据时使用GET (GET data)。 当你想要发送数据时(POST data)。
使用GET有两种常见的“安全”含义。由于数据出现在URL字符串,它可能有人看着你的肩膀在地址栏/URL可能能够看到一些他们不应该知道的东西,如会话cookie,可能会被用来劫持你的会话。记住,每个人都有照相手机。
GET的另一个安全含义与GET变量被记录到大多数web服务器访问日志作为请求URL的一部分有关。根据情况、监管环境和数据的总体敏感性,这可能会引发担忧。
一些客户端/防火墙/IDS系统可能会拒绝包含过多数据的GET请求,因此可能会提供不可靠的结果。
POST支持高级功能,如支持用于文件上传到web服务器的多部分二进制输入。
POST需要一个内容长度的报头,这可能会增加特定于应用程序的客户端实现的复杂性,因为必须提前知道提交的数据的大小,以防止客户端请求以单次传递的增量模式形成。对于那些选择滥用HTTP作为RPC(远程过程调用)传输的人来说,这可能是一个小问题。
其他人已经很好地涵盖了语义差异和这个问题的“何时”部分。
Get和Post方法与你使用的服务器技术无关,它在php、asp.net或ruby中都是一样的。GET和POST是HTTP协议的一部分。 正如mark所指出的,POST更安全。POST表单也不被浏览器缓存。 POST也用于传输大量数据。
当我从URL检索信息时使用GET,当我向URL发送信息时使用POST。
当用户在表单中输入信息并单击Submit时,有两种方式可以将信息从浏览器发送到服务器:在URL中,或在HTTP请求正文中。
在前面的示例中使用的GET方法将名称/值对追加到URL。不幸的是,URL的长度是有限的,所以这个方法只在只有几个参数的情况下才有效。如果表单使用大量参数,或者参数包含大量数据,URL可能会被截断。此外,通过URL传递的参数在浏览器的地址字段中可见,这不是显示密码的最佳位置。
GET方法的替代方法是POST方法。该方法将名称/值对打包在HTTP请求的主体中,这使得URL更简洁,并且没有对表单输出施加大小限制。它也更安全。