Http协议中Get和Post的区别

1.根据HTTP规范,Get用于信息获取,应该是安全和幂等的,Post表示可能修改服务器的资源。

  安全的意思是,Get不改变服务器的资源,此操作是获取信息而不是修改信息,但注意这里的安全是指不修改信息。

  幂等的意思是,多次请求同一个url返回的结果应该是相同的,但实际操作中,并不是那么严格,例如新闻网站,不同时间刷新网页的时候获取的新闻不一样,但实际上也可以说是一样的,因为都是获取当前的新闻。

2.Get的数据是拼接在url中的,?参数名=参数值,并使用&隔开,把空格转换为+,如果是中文则用Base64进行加密。Post数据则是保存在Http包的包头里发送到服务器端的。

3.Get方式只允许提交1024个字节?理论上Post没有大小限制。

 对于Get方式只允许提交1024个字节,Http规范并没有规定url的长度限制,也没有规定url的参数长度,只是可能对于浏览器而言,对url会有一定的限制,比如说IE浏览器对于url的长度限制是2083个字节。

 理论上Post方法提交的数据没有大小限制,起限制作用的是服务器处理Post请求的能力。

4.Get方式的安全性要低于Post方式。

这里的安全性指的是"security",例如get方式如果提交用户名和密码,则用户名和密码都写在url中,浏览器缓存中可能会保存,所以非常不安全。

原文地址:https://www.cnblogs.com/qingfei1994/p/4857802.html