TCP/IP 協議族按層次分爲如下4層:應用層、傳輸層、網絡層和數據鏈路層。服務器
應用層決定了向用戶提供應用服務時通訊的活動。DNS服務、HTTP協議處於該層。網絡
傳輸層對上層應用層,提供處於網絡鏈接中的兩臺計算機之間的數據傳輸。TCP協議處於該層。tcp
網絡層用來處理在網絡上流動的數據包。數據包是網絡傳輸的最小數據單位。該層規定了經過怎樣的路徑到達對方的計算機,並把數據包傳給對方。IP網際協議位於該層。大數據
鏈路層用來處理連接網絡的硬件部分。包括操做系統、硬件驅動等。操作系統
IP網際協議位於網絡層。IP協議的做用是把各類數據包傳送給對方。而要保證確實傳送到對方那裏,則須要知足各種條件。其中兩個重要的條件是IP地址和MAC地址。dns
IP地址指明瞭節點被分配到的地址,MAC地址是指網卡所屬的固定地址。IP地址能夠和MAC地址進行配對。IP地址可變換,但MAC地址基本上不會改變。three
TCP協議位於傳輸層,提供可靠的字節流服務。ip
所謂的字節流服務(Byte Stream Service)是指,爲了方便傳輸,將大塊數據分割成以報文段爲單位的數據包進行管理。而可靠的傳輸服務是指,可以把數據準確可靠的傳給對方。一言以蔽之,TCP協議爲了更容易傳送大數據才把數據分割,並且TCP協議可以確認數據最終是否送達到對方。資源
爲了準確無誤地將數據送達目標處,TCP協議採用了三次握手策略。get
發送端發送一個帶SYN標誌的數據包給對方 --> 接受端收到後傳回一個帶SYN/ACK標誌的數據包以示傳達確認信息 --> 發送端再傳回一個帶ACK標誌的數據包表示握手結束
DNS服務位於應用層。提供域名到IP地址之間的解析服務。
客戶端請求一個網址 --> DNS把域名解析爲IP地址 --> HTTP生成針對目標Web服務器的HTTP請求報文 --> TCP將HTTP請求報文分割成報文段按序號傳輸 --> IP協議負責搜索對方的地址邊中轉邊傳送 --> TCP從對方那裏接受報文段並重組成報文 --> HTTP對請求的內容進行處理 --> 請求的處理結果也按照這個流程返回客戶端
方法 | 做用 | 說明 |
---|---|---|
GET | 獲取資源 | |
POST | 傳輸實體主體 | 通常用於提交須要存儲的信息 |
HEAD | 獲取報文首部 | 和GET同樣,只是不返回報文主體部分 |
DELETE | 刪除文件 | |
OPTIONS | 詢問支持的方法 |
在HTTP/1.1中,全部的鏈接默認都是持久鏈接
狀態碼 | 類別 |
---|---|
2** | 成功 |
3** | 重定向 |
4** | 客戶端錯誤 |
5** | 服務端錯誤 |