1. 程式人生 > >網絡基本協議

網絡基本協議

物理 時間 inter cnblogs agen ont 使用 關閉 del

五層模型: 應用層、傳輸層、網絡層、鏈接層、實體層

1、實體層:把電腦連接起來的物理手段,主要規定了網絡的一些電氣特性,負責傳送0和1的電信號

2、鏈接層:在實體層上方,確定0和1的分組方式,主要內容有以太網協議(一組電信號構成一個數據包: 標頭和數據),MAC地址(網卡),廣播

3、網絡層: 主機之間的通訊

  路由,網址(確定計算機所在的子網絡,32位二進制組成)、IP協議,

  子網掩碼:判斷任意兩個IP地址是否在同一子網絡

  IP數據包: 包含IP地址信息,放在以太網數據包的數據裏

  ARP協議:用於獲取同一子網絡內的主機的MAC地址

  不在同一子網絡,將數據包傳送到兩個子網絡的連接處,即網關,由網關來處理獲取MAC地址

4、傳輸層: 端口之間的通訊

  端口:表示數據包由哪個程序使用,0~65535之間的整數,0~1023被系統占用

  UDP:UDP數據包放在IP數據包的數據部分。簡單但是可靠性差,無法判斷對方是否收到

  TCP:每發出一個數據包都需要確認,確保數據不回丟失,但實現困難,過程復雜,消耗資源

5、應用層

  規定郵件、網頁、FTP數據的格式,這些應用程序的協議就構成了應用層

參考鏈接:http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html

     http://www.alloyteam.com/2016/07/httphttp2-0spdyhttps-reading-this-is-enough/

一、http

1、Hyper Text Transfer Protocol,用於服務器傳輸超文本到本地瀏覽器的傳送協議,基於TCP/IP傳送數據,是一個基於應用層的面向對象的協議

2、簡單(協議簡單),靈活(可傳輸任意類型的數據對象,由Content-Type標記)、無連接(每次處理一個請求然後斷開)、無狀態(對於事物處理沒有記憶能力,後續處理需要之前的信息則必須重傳)

3、request

  a: 請求行(請求類型、請求資源、HTTP協議版本)

  b: 請求頭(附加信息如User-Agent,Host)

  c: 空行

  d: 請求數據

4、response

  a: 狀態行(HTTP協議版本、狀態碼、狀態消息)

  b: 消息報頭(用來說明客戶端使用的一些附加消息)

  c: 空行

  b: 響應正文

5、狀態碼

  1xx: 指示信息-- 請求已接收,繼續處理

  2xx: 成功--請求已被成功接收

  3xx: 重定向--要完成請求必須更進一步的操作

  4xx: 客戶端錯誤--請求有語法錯誤或者請求無法實現

  5xx: 服務器錯誤--服務器未能實現合法的請求

6、請求方法

  http1.0: GET、POST、HEAD

  http1.1: OPTIONS、PUT、DELETE、TRACE、CONNECT

7、http工作原理

  a: 客戶端連接到web服務器(TCP套接字連接)

  b: 發送http請求(請求行、請求頭、空行、請求數據)

      通過TCP套接字客戶端向web服務器發送一個文本的請求報文

  c: 服務器接收請求並返回http響應(狀態行、響應頭、空行、響應數據)

      web服務器解析請求,定位請求資源,服務器將資源復本寫到TCP套接字,由客戶端讀取

  d: 釋放TCP連接

      若connection模式為close,則服務器主動關閉TCP連接,客戶端被動關閉連接,釋放TCP連接

      ,若connection模式為keep-alive,則連接會保持一段時間,在該時間內可以繼續接收請求

  e: 客戶端解析HTML內容

      客戶端首先解析狀態行,查看請求狀態碼,然後解析每一個響應頭,再讀取響應數據HTML, 顯示在瀏覽器窗口

參考鏈接:https://www.cnblogs.com/ranyonsue/p/5984001.html

網絡基本協議