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的区别的主要内容,如果未能解决你的问题,请参考以下文章