Get请求与Post请求的区别

Posted kingon

tags:

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

1.  get 在浏览器回退时是无害的,post 会再次提交数据
2.  get 产生的url 地址可以被 bookmark,post 则不可以
3.  get 请求会被浏览器主动cache (缓存),post 则不会,除非手动设置
4.  get 请求参数会被完整保留在浏览器历史记录里,而post中参数不会被保留
 
5.  get 只接受ASCII 码字符,而post 没有限制
6.  get 请求只能进行url 编码,而post 支持多种编码方式。
 
7.  get 把请求参数放在url 上,即http协议头上,post 放在Request body请求体中。
     故get 比post 更不安全,不能用来传递敏感信息。
     附:get 参数放在url上,以?分割url,参数之间以&相连;英文/数字,不做改变,原样发送;
     空格转换为+;中文/其他字符,则用base64加密,即%加上“十六进制ASCII码”
 
8. get 一般来说提交的数据最大是2k;(原则上url 长度无限制,但大多数浏览器通常都会限制url 长度在2k)
    post 理论上没有限制,实际上IIS4中最大量为80k,IIS5中为100k。
 
9. get 产生一个tcp 数据包,浏览器会把http header 和data 一并发送出去,服务器响应200(返回数据)
    post 产生两个tcp 数据包,浏览器会先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200(返回数据)
    附:Http 是基于tcp/ip 关于数据如何在万维网中通信的协议。所以http 的底层是tcp/ip,get 、post 的底层也是tcp/ip,
          也就是说,get、post 都是tcp 连接。
 
 
 
 
 
ok

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

get请求和post请求区别

GET与POST区别

HTTP中get请求与post请求区别

post与get请求的区别

网络工程 POST与GET请求方法的本质区别

重定向,请求转发,get,post