这是面试时经常会问到的一个问题。
POST和GET都是HTTP请求的基本方法。
区别主要有以下几个:
1.GET请求在浏览器刷新或者回退的时候是没危险的。POST的话数据会被重新提交。
2.长度限制:当发送请求时,GET请求一般是向URL添加参数数据,URL的最大长度是2048个字符;
POST请求一般参数不在请求URL中,而在body中。
3.GET可以被书签收藏,POST不行
4.GET可以存在缓存中,POST不行
5.GET会将数据存在浏览器的历史中,POST不会
6.GET 编码格式只能用ASCII码,POST没有限制
7.GET 数据类型application/x-www-form-urlencoded,POST是application/x-www-form-urlencoded或者multipart/form-data。
8.GET 和POST在请求的时候:
GET 是将数据中的hearder 和 data 一起发送给服务端,返回200code
POST 是先将hearder发给服务器返回100continue,再发送data给到服务器,返回200
9.GET 就发送了一个TCP数据包给服务器,POST发送了两次TCP数据包给服务器。