不同:
1.发送场景:
GET:地址栏直接输入/超链接/表单/ajax
POST:表单/ajax
2.发送参数:
GET:请求行/浏览器地址栏输入
POST:请求正文
3.调用方法:doGet/doPost
4.Get是不安全的,因为在传输过程,数据被放在请求的URL中;Post的所有操作对用户来说都是不可见的。
5.Get传送的数据量较小,这主要是因为受URL长度限制;Post传送的数据量较大,一般被默认为不受限制。
6.Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。
7.Get执行效率却比Post方法好。Get是form提交的默认方法。
总结说明
HTTP报文层面:GET将请求信息放在URL,POST放在报文体中。
数据库层面:GET符合幂等性和安全性,POST不符合。
其它层面:GET可以被缓存、被存储,POST不行
分别说明:
get用来获取数据,post用来提交数据
get参数有长度限制(受限于url长度,具体的数值取决于浏览器和服务器的限制,最长2048字节),而post无限制。
get请求的数据会附加在url之后 ,以 " ? "分割url和传输数据,多个参数用 "&"连接,而post请求会把请求的数据放在http请求体中。
get是明文传输,post是放在请求体中,但是开发者可以通过抓包工具看到,也相当于是明文的。
get请求会保存在浏览器历史记录中,还可能保存在web服务器的日志中
参考链接:https://www.jianshu.com/p/b94d27fc562d