写这个原因 GET和POST的区别多而且繁琐。
想系统的总结一下主要在那些方面
HTTP协议原理:
get请求会将数据附加在url之后,以?来分割url和传输数据,多个参数用&连接。并且get请求时放在http请求包的消息头中。
Post请求会将请求的数据放在HTTP数据包的消息体中,
因此,get请求的数据会暴露url中,而post请求则不会。
传输数据的大小:
在http规范中,没有对url的长度和传输数据量大小的限制,但在实际开发过程当中,特定的浏览器和服务器对于url的长度是有限制的。不能大于2KB(get)。
但是对于post,由于不是url传输数据,理论上是不会有限制的,但是各个服务器会对post提交的数据大小进行限制。
安全性:
post比get的安全性高,因为get传输数据时,参数数据是明文传输的。
是否编码,编码方式:
get只能进行url编码,post支持多种编码方式(unicode)。
参数的数据类型:
get只接受ASCII字符,而post没有限制。
或许还有其他重要的区别,希望大家能评论下方?