HTTP中GET與POST的區別

HTTP協議(HyperText Transfer Protocol,超文本傳輸協議)是用於從WWW服務器傳輸超文本到本地瀏覽器的傳送協議。它可以使瀏覽器更加高效,使網絡傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先於圖形)等。

HTTP是一個應用層協議,由請求和響應構成,是一個標準的客戶端服務器模型。HTTP是一個無狀態的協議。

可以使用chrome瀏覽器的開發者工具進行抓包

面試常被問到HTTP中GET與POST的區別

最直觀的區別就是GET把參數包含在URL中,POST通過request body傳遞參數。

搜索一番,基本的答案是

1. GET把參數包含在URL中,POST通過request body傳遞參數。

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

3. GET請求參數會被完整保留在瀏覽器歷史記錄裏,而POST中的參數不會被保留。

4. GET請求在URL中傳送的參數是有長度限制的,而POST沒有。

5. GET比POST更不安全,因爲參數直接暴露在URL上

HTTP是基於TCP/IP的關於數據如何在萬維網中如何通信的協議。可以在GET加上request body,給POST帶上url參數,沒有技術問題,可以自行測試一番哈。

如圖Postman允許在post增加參數

面試常被問到HTTP中GET與POST的區別

HTTP只是個行爲準則,而TCP纔是GET和POST怎麼實現的基本。GET和POST本質上就是TCP鏈接,並無差別。

面試常被問到HTTP中GET與POST的區別

面試常被問到HTTP中GET與POST的區別

我覺得這就是面試的一道坑哈。

GET,POST請求過程有些不同:

1. GET請求,瀏覽器會把http header和data一併發送出去,服務器響應,返回數據;

2. POST請求,瀏覽器先發送header,服務器響應100,瀏覽器再發送data,服務器響應,返回數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章