網絡分層和http

網絡分層

OSI模型

OSI 模型(Open System Interconnection model)是一個由國際標準化組織提出的概念模型,試圖提供一個使各類不一樣的計算機和網絡在世界範圍內實現互聯的標準框架。 它將計算機網絡體系結構劃分爲七層,每層均可以提供抽象良好的接口html

  • 物理層:物理層負責最後將信息編碼成電流脈衝或其它信號用於網上傳輸
  • 數據鏈路層:數據鏈路層經過物理網絡鏈路提供數據傳輸。不一樣的數據鏈路層定義了不一樣的網絡和協 議特徵,其中包括物理編址、網絡拓撲結構、錯誤校驗、數據幀序列以及流控
  • 網絡層:網絡層負責在源和終點之間創建鏈接,此處須要肯定計算機的位置,怎麼肯定?IPv4,IPv6!
  • 傳輸層:傳輸層向高層提供可靠的端到端的網絡數據流服務,每個應用程序都會在網卡註冊一個端口號,該層就是端口與端口的通訊!經常使用的(TCP/IP)協議
  • 會話層:會話層創建、管理和終止表示層與實體之間的通訊會話
  • 表示層:表示層提供多種功能用於應用層數據編碼和轉化,以確保以一個系統應用層發送的信息 能夠被另外一個系統應用層識別
  • 應用層: OSI 的應用層協議包括文件的傳輸、訪問及管理協議(FTAM),以及文件虛擬終端協議(VIP)和公用管理系統信息(CMIP)等

常見的應用層協議服務器

TCP/IP四層模型

OSI七層模型是學術界提出的,從層數上就知道它更把網絡分的更加詳實,從而也使得它的實現更加複雜,所以它的學術價值更大。 而 TCP/IP 網絡模型是由計算機寡頭提出並實現,是OSI七層模型的簡化版;屬於開源產品,能直接提供給用戶使用 網絡

  • 網絡接口層:網絡接口層與OSI參考模型中的物理層和數據鏈路層相對應,它負責監視數據在主機和網絡之間的交換,事實上,TCP/IP自己並未定義該層的協議,而由參與互連的各網絡使用本身的物理層和數據鏈路層協議,而後與TCP/IP的網絡接入層進行鏈接,地址解析協議(ARP)工做在此層,即OSI參考模型的數據鏈路層
  • 網絡互聯層:網際互聯層對應於OSI參考模型的網絡層,主要解決主機到主機的通訊問題,它所包含的協議設計數據包在整個網絡上的邏輯傳輸,注重從新賦予主機一個IP地址來完成對主機的尋址,它還負責數據包在多種網絡中的路由,該層有三個主要協議:網際協議(IP)、互聯網組管理協議(IGMP)和互聯網控制報文協議(ICMP)
  • 傳輸層:在TCP/IP模型中,傳輸層的功能是使源端主機和目標端主機上的對等實體能夠進行會話。在傳輸層定義了兩種服務質量不一樣的協議。即:傳輸控制協議TCP(transmission control protocol)和用戶數據報協議UDP(user datagram protocol),TCP協議提供的是一種可靠的、經過「三次握手」來鏈接的數據傳輸服務;而UDP協議提供的則是不保證可靠的(並非不可靠)、無鏈接的數據傳輸服務
  • 應用層:應用層對應OSI參考模型的應用層、表示層和會話層

http 概念

http:hypertext transfer protocol 超文本傳輸協議,是一個客戶端和服務器端請求和應答端標準。框架

特色:post

  1. 基於請求/響應模型的協議
  2. 簡單快速 協議簡單,程序規模小,通訊速度快
  3. 靈活 容許傳輸任意類型的數據對象,content-type標識
  4. 無狀態 對事務的處理沒有記憶能力

組成:http協議是由http請求和http響應組成編碼

http請求包含請求行、請求頭、請求體url

http響應包含響應行、響應頭、響應體計算機網絡

請求行:包含請求方法、請求URL、HTTP協議及版本設計

例如:POST /chapter17/user.html HTTP/1.1cdn

請求方法:

  1. get:將請求參數追加在URL後面,url長度限制get請求方式數據的大小,沒有請求體
  2. post
  3. head:HEAD跟GET類似,不過服務端接收到HEAD請求時只返回響應頭,不發送響應內容。因此,若是隻須要查看某個頁面的狀態時,用HEAD更高效,由於省去了傳輸頁面內容的時間
  4. delete
  5. options:用於獲取當前URL所支持的方法,若請求成功,會在http頭中包含一個"allow"的字段,值是所支持的方法
  6. put

請求頭:包含若干屬性,格式爲"屬性名:屬性值"

請求體:請求的內容放在請求體中

響應行:協議及版本 狀態碼及狀態描述

狀態碼:

  1. 1XX 消息 指示消息,表示請求已經接收,繼續處理
  2. 2XX 成功,表示請求已經成功接受處理
  • 200 OK 客戶端請求成功
  • 204 No Content 無內容。服務器成功處理,但未返回內容。通常用在只是客戶端向服務器發送信息,而服務器不用向客戶端返回什麼信息的狀況。不會刷新頁面
  • 206 Partial Content 服務器已經完成了部分GET請求(客戶端進行了範圍請求)。響應報文中包含Content-Range指定範圍的實體內容
  1. 3XX 重定向
  • 301 Moved Permanently:永久重定向,表示請求的資源已經永久的搬到了其餘位置
  • 302 Found:臨時重定向,表示請求的資源臨時搬到了其餘位置
  • 303 See Other:臨時重定向,應使用GET定向獲取請求資源。303功能與302同樣,區別只是303明確客戶端應該使用GET訪問
  • 304 Not Modified:表示客戶端發送附帶條件的請求(GET方法請求報文中的IF…)時,條件不知足。返回304時,不包含任何響應主體。雖然304被劃分在3XX,但和重定向一毛錢關係都沒有
  1. 4XX 請求錯誤
  • 400 Bad Request:客戶端請求有語法錯誤,服務器沒法理解
  • 401 Unauthorized:請求未經受權,這個狀態代碼必須和WWW-Authenticate報頭域一塊兒使用
  • 404 Not Found:請求資源不存在。好比,輸入了錯誤的url
  • 415 Unsupported media type:不支持的媒體類型
  1. 5XX 服務器錯誤

響應頭:和請求頭同樣 包含若干屬性,格式爲"屬性名:屬性值"

響應體:服務器回寫給客戶端的頁面正文

相關文章
相關標籤/搜索