說到WEB開發中GET與POST兩種請求方法,相信有點WEB知識的開發者,都能說出個一二三來。但它們之間的區別你能說出多少來呢?下面飛鳥慕魚博客的小編就收集了一些資料,來說一下 POST 與 GET 請求的區別。

GET 與 POST 的簡單理解

GET 與 POST 是 HTTP 協議中,兩種發送請求的方法。

HTTP 是基于 TCP/IP 的關于數據如何在萬維網中如何通信的協議,它底層是 TCP/IP。所以 GET 和 POST 的底層也是TCP/IP,也就是說,GET 與 POST都是TCP鏈接。

GET 與 POST 所要做的事情都是一樣的,但硬要說它們之間的區別,那還是有的。

GET 與 POST 的區別

国产视频appGET 與 POST 之間的區別,是有請多的,以下是網上收集的一些,大家可參考一下。

1、GET在瀏覽器回退時是無害的,而POST會再次提交請求

国产视频app2、GET請求會被瀏覽器主動cache(緩存),而POST不會

3、GET產生的URL地址可以被Bookmark(存為便簽),而POST不會

国产视频app4、GET只能進行url編碼,而POST可以支持多種編碼方式

5、GET請求在URL中的參數有長度限制,而POST沒有

6、GET請求參數會被完整保留在瀏覽器歷史記錄里,而POST不會

7、GET只接受ASCII字符類型的數據,而POST沒有限制。

8、GET沒有POST安全,因為參數直接暴露在URL上

国产视频app9、GET參數通過URL傳遞,POST放在Request body中

10、Get執行效率卻比Post方法好。

国产视频app11、Get是form提交的默認方法。

GET 與 POST 請求的TCP數據包對比

TCP:(Transmission Control Protocol)是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。

国产视频app在 GET 與 POST 請求中,都會發送 TCP 的數據包。在實際請求中,GET只產生一個 TCP 的數據包,而 POST 會產生兩個 TCP 的數據包。

GET 與 POST 兩種請求方法的區別

網上找的POST 與 GET  對比圖

1、在 GET 方式的請求中,瀏覽器會把 http header 和 data 一起發送出去,服務器響應200(返回數據);

2、在 POST 方式的請求中,瀏覽器先發送 http header,等服務器響應100 continue,瀏覽器再發送 data(form表單內的數據),服務器響應200(返回數據,表示服務器已接收數據并正確處理)。

PS:在網絡條件較好的情況下,POST(發送了兩次數據包) 與 GET(發送了一次數據包) 請求的性能差距是可以忽略不計的。而 POST 發送的 TCP 數據包在完整性上,是很有優勢的。