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就只發送一次。加密