不徹底圖解HTTP

  在2D平面上行走的時候,認識只侷限於「點」,剛認識一個新的點,就把以前的那個點忘記了,撿了芝麻丟西瓜。只從3D視角俯瞰時,把這些點鏈接在一塊兒,點成線,線成面時,纔能有所頓悟。話很少說,這是我對HTTP的不徹底圖解。但願對你們總體上初步理解HTTP有所幫助。

  總體上來看,HTTP分爲五個部分。

 

1.報文

報文 = 報文首部 + 報文主體

打上了「紅旗」的,表明很是重要:

(1)首部字段

(2)Cookie 和 Set-Cookie

Cookie:客戶端告知服務器想得到HTTP狀態管理支持。

Set-Cookie: 服務器管理客戶端的狀態。

1.1 請求報文

1.2 響應報文

2. 通訊傳輸

這裏須要問本身這樣的問題:

(1)爲何會有「分層」這個概念?

(2)三次握手的過程?若是中斷了怎麼辦?

  發送端將一個帶SYN標誌的數據包給接收端。
  接收端回傳一個帶有SYN/ACK標誌的數據包,傳達確認信息。
  發送端回傳一個帶ACK標誌的數據包,表明「握手」結束。

  若是中斷,TCP協議會再次以相同的順序發送相同的數據包。

3.服務器

這裏重點理解一下緩存策略。

第一階段--本地緩存。

第二階段:緩存協商。在這個階段,須要用到兩組首部字段Last-Modified/IF-Modified-Since和Etag/If-None-Match。

 

4.優化

 

 

 

5.安全

  這部分須要理解爲何會出現HTTPS,HTTPS中的SSL是什麼,HTTPS的利弊。

  基於表單認證部分須要聯繫一下第一部分報文中的Cookie和Set-Cookie:

(1)客戶端發送用戶ID、密碼

(2)服務器向用戶發放Session ID,記錄用戶狀態(Set-Cookie)

(2)客戶端接收Session ID,並將其做爲Cookie保存在本地。

(4)下次向服務器發送請求時,瀏覽器會自動發送Cookie

(5)服務器端可驗證收到的Session ID來識別用戶

 

 

 回顧一下,整體上大概就是這樣的。安利一下XMind,用來畫思惟導圖,很是贊。祝你們五一快樂。

相關文章
相關標籤/搜索