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 服務器出現錯誤