1. get是从服务器上获取数据,post是向服务器传送数据。浏览器
2. GET请求把参数包含在URL中,将请求信息放在URL后面,POST请求经过request body传递参数,将请求信息放置在报文体中。缓存
3. get传送的数据量较小,不能大于2KB。post传送的数据量较大,通常被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。安全
4. get安全性很是低,get设计成传输数据,通常都在地址栏里面能够看到,post安全性较高,post传递数据比较隐私,因此在地址栏看不到, 若是没有加密,他们安全级别都是同样的,随便一个监听器均可以把全部的数据监听到。服务器
5. GET请求可以被缓存,GET请求会保存在浏览器的浏览记录中,以GET请求的URL可以保存为浏览器书签,post请求不具备这些功能。并发
6. HTTP的底层是TCP/IP,GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP连接。GET和POST能作的事情是同样同样的。你要给GET加上request body,给POST带上url参数,技术上是彻底行的通的。post
7.GET产生一个TCP数据包,对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);POST产生两个TCP数据包,对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据),并非全部浏览器都会在POST中发送两次包,Firefox就只发送一次。加密