深刻http協議原理

對於Web開發者而言,掌握HTTP協議是技術成長的必經之路。只有夯實HTTP基礎,纔可能在Web這條路上走的更遠。緩存

網絡協議分層

經典五層模型

圖片描述

  • 應用層

爲應用軟件提供了不少服務
構建於TCP協議之上
屏蔽網絡傳輸相關細節服務器

  • 傳輸層

向用戶提供可靠的端到端(End-to-End)服務
傳輸層向高層屏蔽了下層數據通訊的細節網絡

  • 網絡層

網絡層爲數據在結點之間傳輸建立邏輯鏈路spa

  • 數據鏈路層

數據鏈路層在通訊的實體間創建數據鏈路鏈接code

  • 物理層

物理層主要做用是定義物理設備如何傳輸數據orm

Http協議發展歷史

http/0.9

  • 只有一個命令GET
  • 沒有HEADER等描述數據的信息
  • 服務器發送完畢,就關閉TCP鏈接

http/1.0

  • 增長了不少命令
  • 增長status code和header
  • 多字符集支持、多部分發送、權限、緩存等

http/1.1圖片

  • 持久鏈接
  • pipeline
  • 增長host和其餘一些命令

http2

  • 全部數據以二進制傳輸
  • 同一個鏈接裏面發送多個請求再也不須要按照順序來
  • 頭信息壓縮以及推送等提升效率的功能

HTTP的三次握手

圖片描述

URI、URL、URN

URI

  • Uniform Resource Identifier/統一資源標誌符

URL

  • Uniform Resource Locator/統一資源定位器
  • http://user:pass@host.com:80/path?query=string#hash(此類格式的都叫作URL,好比ftp協議)

URN

  • 永久統一資源定位符
  • 在資源移動以後還能被找到
  • 目前尚未很是成熟的使用方案
相關文章
相關標籤/搜索