基本的区别:
1.get 数据附在url 上(以?分隔url和数据,用&连接参数其中参数是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,如%E4%BD%A0%E5%A5%BD), post 数据包裹在http包的包体里。
2.理论上url长度没有限制(但是浏览区或服务器可以会有限制),post同样也是这样。
get主要是为了查询数据用的。而post主要是提交数据用的。
3.post的安全性要比get高(毕竟url里面的参数是以明文显示的)。
深入区别:
HTTP协议本身也是基于TCP协议的,所以get和post本质上就是TCP链接。
一些额外的作用:
get请求会被浏览器主动的cache,而post不会。
get请求只能进行url编码,而POST支持多种编码方式。
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。