get与post的区别

Posted wawjandcsws

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了get与post的区别相关的知识,希望对你有一定的参考价值。

GET与POST的区别浅谈

(1) get把请求的数据放在URL上,即HTTP协议头上,其格式为:以?分割URL和传输数据,参数之间使用&符号连接。数据如果是英文字母或数字则原样发送,若是空格,则转换成+,若是中文或者是其他字符,则把字符串使用BASE64,“%”加上“字符串的16进制ASCII码”。    

     post会把数据存放在HTTP的包体(request body)。

(2)get提交的数据最大是2K(原则上url长度无限制,但是大多数浏览器会限制url在2k个字节)。

    post理论上传输数据的大小理论上没有限制。实际中IIS4中最大的传输量为80k,IIS5中为100k

(3)get产生一个TCP数据包,浏览器会把http  header和data一并发送出,服务器响应200。

    post产生两个TCP数据包,浏览器先发送header,服务器返回100  continue,浏览器在发送data,服务器响应200 ok(返回数据)。

(4)get在浏览器中回退时是无害的,post会再次提交请求。

(5)get请求会被浏览器主动缓存,而post基本不会。

(6)get请求只能进行url编码,而post支持多种编码方式。

(7)get参数会被完整的记录在浏览器历史记录中,而post参数不会被保留

综上所述,post不容易外泄参数,保证数据在出函数过程中的安全,但是因为其运行速度比get慢,所以在选用get与post方式时,需要比较其优劣。

以上是关于get与post的区别的主要内容,如果未能解决你的问题,请参考以下文章

转载 HTTP 中 GET 与 POST 的区别

get与post区别

put与get的区别

GET和POST的区别

get与post请求的区别

post、get、put、patch、Delete的区别