《圖解HTTP》讀書筆記

TCP/IP 協議族

TCP/IP 協議族按層次分爲如下4層:應用層、傳輸層、網絡層和數據鏈路層。服務器

應用層決定了向用戶提供應用服務時通訊的活動。DNS服務、HTTP協議處於該層。網絡

傳輸層對上層應用層,提供處於網絡鏈接中的兩臺計算機之間的數據傳輸。TCP協議處於該層。tcp

網絡層用來處理在網絡上流動的數據包。數據包是網絡傳輸的最小數據單位。該層規定了經過怎樣的路徑到達對方的計算機,並把數據包傳給對方。IP網際協議位於該層。大數據

鏈路層用來處理連接網絡的硬件部分。包括操做系統、硬件驅動等。操作系統

IP協議

IP網際協議位於網絡層。IP協議的做用是把各類數據包傳送給對方。而要保證確實傳送到對方那裏,則須要知足各種條件。其中兩個重要的條件是IP地址和MAC地址。dns

IP地址指明瞭節點被分配到的地址,MAC地址是指網卡所屬的固定地址。IP地址能夠和MAC地址進行配對。IP地址可變換,但MAC地址基本上不會改變。three

TCP協議

TCP協議位於傳輸層,提供可靠的字節流服務。ip

所謂的字節流服務(Byte Stream Service)是指,爲了方便傳輸,將大塊數據分割成以報文段爲單位的數據包進行管理。而可靠的傳輸服務是指,可以把數據準確可靠的傳給對方。一言以蔽之,TCP協議爲了更容易傳送大數據才把數據分割,並且TCP協議可以確認數據最終是否送達到對方。資源

三次握手(three-way handshaking)

爲了準確無誤地將數據送達目標處,TCP協議採用了三次握手策略。get

發送端發送一個帶SYN標誌的數據包給對方 --> 接受端收到後傳回一個帶SYN/ACK標誌的數據包以示傳達確認信息 --> 發送端再傳回一個帶ACK標誌的數據包表示握手結束

DNS服務

DNS服務位於應用層。提供域名到IP地址之間的解析服務。

整個服務的流程

客戶端請求一個網址 --> DNS把域名解析爲IP地址 --> HTTP生成針對目標Web服務器的HTTP請求報文 --> TCP將HTTP請求報文分割成報文段按序號傳輸 --> IP協議負責搜索對方的地址邊中轉邊傳送 --> TCP從對方那裏接受報文段並重組成報文 --> HTTP對請求的內容進行處理 --> 請求的處理結果也按照這個流程返回客戶端

HTTP 協議

HTTP 方法

方法 做用 說明
GET 獲取資源
POST 傳輸實體主體 通常用於提交須要存儲的信息
HEAD 獲取報文首部 和GET同樣,只是不返回報文主體部分
DELETE 刪除文件
OPTIONS 詢問支持的方法

持久鏈接

在HTTP/1.1中,全部的鏈接默認都是持久鏈接

HTTP 狀態碼

狀態碼 類別
2** 成功
3** 重定向
4** 客戶端錯誤
5** 服務端錯誤

博客首發地址:https://www.jianshu.com/u/13cd86311525

相關文章
相關標籤/搜索