當前位置:
首頁 > 最新 > 一次搞懂 HTTP 協議!

一次搞懂 HTTP 協議!

前端面試必考:http協議!

那什麼是http協議呢?今天一起來學習掌握,一大波乾貨來襲!

當我們打開谷歌開發控制台時,可以通過Network面板查看某一請求的請求頭和響應頭還有響應內容,這些特別是在查看Ajax請求的時候,非常有幫助。可以看到HTTP請求頭、HTTP響應頭、HTTP返回的內容等信息,對於開發、調試,都是很有用的。

什麼是HTTP?

HTTP 負責 web 伺服器與 web 瀏覽器之間的通信。

HTTP 用於從 web 客戶端(瀏覽器)向 web 伺服器發送請求,並從 web 伺服器向 web 客戶端返回內容(網頁)。


HTTP工作原理(流程)

一次HTTP操作稱為一個事務,其工作過程可分為四步:

1、首先客戶機與伺服器需要建立連接。只要單擊某個超級鏈接,HTTP的工作開始。

2、建立連接後,客戶機發送一個請求給伺服器,請求方式的格式為:統一資源標識符(URL)、協議版本號,後邊是MIME信息包括請求修飾符、客戶機信息和可能的內容。

3、伺服器接到請求後,給予相應的響應信息,其格式為一個狀態行,包括信息的協議版本號、一個成功或錯誤的代碼,後邊是MIME信息包括伺服器信息、實體信息和可能的內容。

4、客戶端接收伺服器所返回的信息通過瀏覽器顯示在用戶的顯示屏上,然後客戶機與伺服器斷開連接

簡單記憶:

建立TCP連接

瀏覽器向伺服器發送請求

伺服器發送應答頭,向瀏覽器發送數據

伺服器關閉TCP連接

需要注意的事項:

http不是持續性連接:每次只限一個請求,請求-應答-斷開。可以節省傳輸時間。

http是無狀態的:是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大。另一方面,在伺服器不需要先前信息時它的應答就較快。

HTTP協議有哪些特徵

支持客戶/伺服器模式

簡單快速

靈活

無連接

無狀態

HTTP和TCP之間的關係


HTTP狀態碼(status code)

狀態碼:每條HTTP響應報文返回時都會攜帶一個狀態碼,用於告知客戶端請求是否成功或者是否需要執行其他動作。狀態碼由三位數字組成。

http中status-code的第一個數字定義響應的類別

響應類:

1XX:信息響應類;表示接受到請求並且繼續處理

2XX:處理成功響應類;表示動作被成功接收、理解和接受

3XX:重定向響應類:請求必須進一步處理。

錯誤類:

4XX:客戶端錯誤;客戶端請求有語法錯誤或請求不能正確執行

5XX:服務端錯誤;服務端不能正確執行一個正確的請求

常見的狀態代碼

200:客戶端請求ok

304:自從上次請求後,請求的網頁未修改過

403:禁止訪問

404:伺服器找不到請求的網頁

500:伺服器遇到錯誤,無法完成請求

502:伺服器作為網關或代理,從上游伺服器收到無效響應

HTTP方法有哪些?

GET:通過請求URI得到資源。一般用於獲取/查詢資源信息。

POST:用於向伺服器提交新的內容。一般用於更新資源信息。

PUT:傳輸文件,報文主體中包含文件內容,保存到對應URI位置。

HEAD: 獲得報文首部,與GET方法類似,只是不返回報文主體,一般用於驗證URI是否有效。

DELETE:刪除文件,與PUT方法相反,刪除對應URI位置的文件。

OPTIONS:查詢相應URI支持的HTTP方法。

HTTP常見面試題(部分)

http與https的區別:

http是不安全的,而https是安全的

http標準埠是80,而https的標準埠是443

http無法加密,而https對傳輸的數據進行加密

http無需證書,而https需要CA機構wosign的頒發的SSL證書

https就是ttp加上加密處理(一般是SSL安全通信線路)+認證+完整性保護


URI,統一資源標識符。

URL,統一資源定位器。URL一般由三部分組成

協議

存有資源的主機IP地址

主機資源的具體地址。如目錄和文件名等

什麼是Http協議無狀態協議?怎麼解決Http協議無狀態協議?

(1)無狀態協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的信息

(2)解決辦法:

Cookie

通過Session會話保存。

可適當的上網搜索更多相關的資料,面試題來給自己充電。當然,掌握以上全部基礎必知的知識點,對面試的你來說,有提高自己的信心!

推薦經典書籍

《HTTP權威指南》

《HTTP權威指南》

《HTTP/2基礎教程》

HTTP協議是前端面試必問的一個知識點,你掌握了嗎?

往期好文

大家想要什麼資源/教程,或者學習上遇到問題都可以留言給小編哦~看到會及時給大家回復~

關注【前端體系】,一起提升技能!

關注,是對作者最大的支持~

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 前端體系 的精彩文章:

自學前端之路

TAG:前端體系 |