首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTP-Get和HTTP-POST之间的区别是什么?为什么HTTP-POST在安全性方面较弱

HTTP-Get和HTTP-POST之间的区别是什么?为什么HTTP-POST在安全性方面较弱
EN

Stack Overflow用户
提问于 2010-01-17 19:55:29
回答 4查看 75.4K关注 0票数 54

有人能解释一下HTTP-GET和HTTP-POST之间的区别吗?为什么人们说HTTP-POST在安全性方面较弱?

EN

回答 4

Stack Overflow用户

发布于 2010-01-17 20:30:44

HTTP specification根据POST和GET的意图来区分它们:

GET是幂等的:它用于获取资源,而无需更改服务器上的任何内容。因此,重新提交GET请求应该是完全安全的。

POST不是:它用于更新服务器上的信息。因此,不能假设重新提交请求是安全的,这就是为什么当您点击刷新POST请求时,大多数浏览器都会要求确认。

在安全性方面,没有区别。POST可能更加晦涩难懂,但那是完全不同的事情。需要在另一个层添加安全性,例如SSL。

票数 66
EN

Stack Overflow用户

发布于 2014-04-10 14:57:23

关于GET请求的一些说明:

  1. GET请求可以缓存
  2. GET请求保留在浏览器历史记录中
  3. GET请求可以添加书签
  4. GET请求在处理敏感数据时绝不能使用
  5. GET请求具有长度restrictions
  6. GET请求应仅用于检索数据

关于POST请求的一些说明:

  1. POST请求从不缓存
  2. POST请求不会保留在浏览器历史记录中
  3. POST请求不能是bookmarked
  4. POST请求对数据长度没有限制

(资料来源:W3学校)

票数 35
EN

Stack Overflow用户

发布于 2010-01-17 20:09:39

我不认为POST比GET更安全或更不安全。诚然,在使用GET时,参数会显示为URL的一部分,因此用户可以立即看到任何敏感数据。然而,查看甚至更改HTTP请求的任何部分都是微不足道的,所以仅仅因为POST不通过URL传递数据,它仍然可以很容易地被读取。除非您使用的是HTTPS,否则GET和POST都会以易于访问的形式传输数据。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2080863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档