Get与Post请求⽅式的区别
- 是基于什么前提的?如果什么前提都没有,不使⽤任何规范,只考虑语法和理论上的
HTTP协议。
GET和POST⼏乎没有什么区别,只有名字不⼀样。 - 如果是基于RFC规范的。
(1)理论上的(Specification):GET和POST具有相同语法的,但是有不同的语义。
get是⽤来获取数据的,post是⽤来发送数据的,其他⽅⾯没有区别。
(2)实现上的(Implementation):各种浏览器,就是这个规范的实现者。
常⻅的那些不同:
1)GET的数据在URL是可⻅的。POST请求不显示在URL中。
2)GET对⻓度是有限制的,POST⻓度是⽆限的。
3)GET请求的数据可以收藏为书签,post请求到的数据不可收藏为书签。
4)GET请求后,按后退按钮、刷新按钮⽆影响,post数据会被重新提交。
5)GET编码类型:application/x-www-form-url,post的编码类型:有很多种。
encodeapplication/x-www-form-urlencoded
multipart/form-data
6)GET历史参数会被保留在浏览器⾥,psot不会保存在浏览器中的。
7)GET只允许ASCII.post没有编码限制,允许发⼆进制的。
8)GET与POST相⽐,GET安全性较差,因为所发的数据是URL的⼀部分。