HTTP協議原理學習筆記

1、互聯網五層模型

應用層 HTTP FTP //爲應用軟件提供了不少服務。構建於TCP協議之上。屏蔽網絡傳輸相關細節
傳輸層 TCP UDP //提供可靠端到端服務。定義傳輸數據,如何分片,組裝。
網絡層 //在結點之間傳輸建立邏輯鏈路
數據鏈路層 //在通訊的實體間創建數據鏈路連接,0101
物理層 //硬件設備,光纜,定義物理設備如何傳輸數據css

2、HTTP協議發展史

0.9版本只有一個GET命令
沒有HEADER等描述數據的信息
服務器發送完畢,就關閉TCP連接。【一個TCP連接,能夠發送不少HTTP請求】
1.0版本增長命令
增長status code 和 header
多字符集支持,多部分發送,權限,緩存
1.1版本
持久連接,TCP連接,能夠發送多個請求
pipeline
增長host和其它一些命令,本地物理服務器跑多個服務
2版本
全部數據以二進制傳輸
同一個連接發送多個請求,再也不按照順序
頭信息壓縮以及推送等提升效率的功能。
【請求html文本,瀏覽器解析,再請求css和js。版本2推送功能,請求html同時,將引用的css和js推送到客戶端,並行的。】html

3、HTTP的三次握手

http request ---- TCP connection --- 服務器
防止因網絡延遲,服務器開啓無用連接瀏覽器

client  -->  [SYN]          Seq = x        -->  server
              <--  [SYN ACK]   Ack=x+1  Seq=y    <--
              -->  [ACK]          Ack=y+1  Seq=z  -->
4、URI、URL、RUN

--URI/統一資源標識符 Uniform Resource Identifier
用來標識互聯網上的信息資源
--URL/統一資源定位器
ftp:// http:// ftp協議 http協議
http://host.com:80/path?query=string#hash
協議 ip 端口 路由 搜索字段 錨點
--URN/永久統一資源定位符
在資源移動以後還能被找到緩存

5、報文

a 請求報文
b 響應報文服務器

HTTP方法
  用來定義對資源的操做 POST、GET、DELETE、UPDATE
  HTTP CODE
  定義服務器對請求的處理結果
  各個區間的CODE有各自的語義
100-199  操做持續進行
200-299  成功
300-399  傳的對象有問題
400-499  發送的請求有問題,401沒有認證
500-599  服務器出現錯誤
相關文章
相關標籤/搜索