GET和POST的区别
1.作用:
GET 大多是从服务器请求资源(参数一般在URL中)
**POST ** 主要用向指定的URL提交资源(数据在body中)
2.安全性
在http协议中所谓的安全是指不会破坏服务器上的资源
所谓幂等,意思是多次执行相同的操作,结果都是相同的。
从服务器角度来说 GET 请求相对安全因为只读无论操作多少次服务器上的资源都不会发送变化,POST是新增或者提交数据,会修改服务器上的资源,所以不安全,多次提交就会创建多个资源。
3.缓存
GET 可以做缓存,缓存可以在浏览器的本身(短时间内重读请求),也可以在缓存在代理服务器上
POST 不能做缓存,如果一个人提交了数据,另外一个人提交数据的时候也可以看见。
4.书签
GET 可以作为书签还可以保存在浏览器的浏览记录中
POST 不可以作为书签,也不能保存在浏览记录中
(get是大家都可见的,post是私人数据)
5.刷新和回退
GET 在刷新和回退的时候没有什么影响
POST 在刷新和回退的时候会确实是否重新提交申请
6.提交方式
**GET ** 通过URL传输数据,只支持url编码
POST 通过表单传输数据支持多种编码
共同点:
GET和POST 都是通过http tcp/ip协议。GET 产生一个数据包,服务器返回200,POST产生两个数据包首先把heard发出去,返回100之后再将data发送过去。(验证不通过就不需要再发了)
参考知乎大佬,欢迎一起学习