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 、multpat/form-data
6)GET历史参数会被保留在浏览器里,post不会保存在浏览器中
7)GET只允许ASCII编码 post 没有编码限制 允许发二进制的
8)GET与post相比,get安全性较差,因为所发的数据是URL的一部分。