使用GET方法和POST方法有什么不同?哪个更安全?它们各自的优点是什么?
(类似问题)
使用GET方法和POST方法有什么不同?哪个更安全?它们各自的优点是什么?
(类似问题)
当前回答
这个W3C文档解释了HTTP GET和POST的使用。
我认为这是一个权威的来源。
摘要如下(文件第1.3节):
如果交互更像是一个问题(例如,它是一个安全的操作,如查询、读取操作或查找),则使用GET。 在以下情况下使用POST: 这种互动更像是一种命令,或者 交互以一种方式更改资源的状态 用户将感知(例如,对服务的订阅),或者 用户应该对交互的结果负责。
其他回答
如果您想从URL检索资源,请使用GET方法。如果你点击浏览器的后退按钮,你总是可以看到最后一页,而且它可能被书签,所以它不如POST方法安全。
如果你想向URL“提交”一些东西,请使用POST方法。例如,你想创建一个谷歌帐户,你可能需要填写所有的详细信息,然后你点击“提交”按钮(这里调用POST方法),一旦你提交成功,并尝试点击浏览器的返回按钮,你会得到一个错误或一个新的空白表单,而不是最后一页填满的表单。
当用户在表单中输入信息并单击Submit时,有两种方式可以将信息从浏览器发送到服务器:在URL中,或在HTTP请求正文中。
在前面的示例中使用的GET方法将名称/值对追加到URL。不幸的是,URL的长度是有限的,所以这个方法只在只有几个参数的情况下才有效。如果表单使用大量参数,或者参数包含大量数据,URL可能会被截断。此外,通过URL传递的参数在浏览器的地址字段中可见,这不是显示密码的最佳位置。
GET方法的替代方法是POST方法。该方法将名称/值对打包在HTTP请求的主体中,这使得URL更简洁,并且没有对表单输出施加大小限制。它也更安全。
GET方法:
仅用于发送256个字符的日期 使用此方法时,可以在浏览器上看到信息 它是表单使用的默认方法 它不是那么安全。
POST方法:
它用于发送无限数据。 使用这种方法,信息不能在浏览器上看到 您可以显式地提到POST方法 它比GET方法更安全 它提供了更高级的功能
GET和POST是HTTP方法,可以实现类似的目标
GET基本上只是为了获取(检索)数据,GET不应该有一个主体,所以除了cookie,唯一传递信息的地方是URL, URL的长度是有限的,GET比POST更不安全,因为发送的数据是URL的一部分
当发送密码、信用卡或其他敏感信息时,不要使用GET !,数据在URL中对每个人都是可见的,可以缓存数据。 GET是无害的,当我们重新加载或回调按钮,它将被book标记,参数保留在浏览器历史记录中,只允许ASCII字符。
POST可能涉及任何内容,如存储或更新数据,或订购产品,或发送电子邮件。POST方法有一个主体。
POST方法是安全的,用于将敏感和机密信息传递到服务器,它不会在URL中的查询参数中可见,并且参数不会保存在浏览器历史记录中。数据长度没有限制。当我们重新加载时,浏览器应该提醒用户数据即将被重新提交。POST方法不能被收藏
这个W3C文档解释了HTTP GET和POST的使用。
我认为这是一个权威的来源。
摘要如下(文件第1.3节):
如果交互更像是一个问题(例如,它是一个安全的操作,如查询、读取操作或查找),则使用GET。 在以下情况下使用POST: 这种互动更像是一种命令,或者 交互以一种方式更改资源的状态 用户将感知(例如,对服务的订阅),或者 用户应该对交互的结果负责。