有几个前提:
1、首先如果只考虑语法和理论上的http协议的话,那post和get基本上没有区别,只有字面量上的区别
2、如果时基于RFC规范的:
(1)理论上(Specification):get和post有相同的语法,但是语义上有区别;get是获取请求的,post时发送请求的
(2)实现上(Implementation):各种浏览器就是这个规范的实现者
常见的不同:
1)get的数据显示再url上(但不一定是在域名上),post不显示在url上
2)get数据有长度限制(url有长度限制),post则没有长度限制
3)get相对post而言更不安全(但是两者都是http协议的明文协议,其实都不安全)
4)get请求后的数据可以收藏为书签,而post不行
5)get请求数据后页面回退刷新无影响,而post需要重新请求数据
6)get历史参数会保存在浏览器中,而post不会
7)编码限制,get只允许发Ascll,post没有限制,可以发二进制
8)get编码类型:application/x-www-form-url,post偏码类型有很多种encodeapplication/x-www-form-url
multipart/form-data