Web 使用一種名爲 HTTP(HyperText Transfer Protocol,超文本傳輸協議 1)的協議做爲規範,完成從客戶 端到服務器端等一系列運做流程。而協議是指規則的約定。能夠說,Web 是創建在 HTTP 協議上通訊的。 web
1.tcp/ip 與http 之間的關係 : 一般使用的網絡(包括互聯網)是在 TCP/IP 協議族的基礎上運做的。而 HTTP 屬於它內部的一個子集。 服務器
2. tcp/ip協議族 :計算機與網絡設備要相互通訊,雙方就必須基於相同的方法。 就是不一樣硬件不一樣系統之間的通訊所 有的這一切都須要一種規則。而咱們就把這種規則稱爲協議 .TCP/IP 是互聯網相關的各種協議族的總稱. 網絡
3 tcp/ip的分層管理 TCP/IP 協議族按層次分別分爲如下 4 層:應用層、傳輸層、網絡層 和數據鏈路層。 tcp
應用層:應用層決定了向用戶提供應用服務時通訊的活動 . 好比 ftp , http協議也處於該層 大數據
傳輸層: 傳輸層對上層應用層,提供處於網絡鏈接中的兩臺計算機之間的數據傳輸。好比TCP UDP url
網絡層:數據包是網絡傳輸的最小數據單位。該層規定了經過怎樣的路徑 (所謂的傳輸路線)到達對方計算機,並把數據 包傳送給對方。 spa
鏈路層 用來處理鏈接網絡的硬件部分。包括控制操做系統、硬件的設備驅動、NIC(網卡), 網線. 操作系統
4 TCP/IP 通訊傳輸流 ip
利用 TCP/IP 協議族進行網絡通訊時,會經過分層順序與對方進行通訊。發送端從應用層往下走,接收端則往 應用層往上走。 域名
5 與 HTTP 關係密切的協議 : IP、TCP 和 DNS
5.1 iP(Internet Protocol)網際協議. 並非指ip地址, ip位於網絡層 .做用: IP 協議的做用是把各類數據包傳送給對方。而要保證確實傳送到對方那裏,則須要知足各種條件。其中兩個 重要的條件是 IP 地址和 MAC 地址(Media Access Control Address)。 IP 間的通訊依賴 MAC 地址 , ip可變而mac地址不可變.在互聯網中客戶端與服務端通訊會通過多臺服務器進行中轉 , 在進行中轉時,會利用下一站中轉設備的 MAC 地址來搜索下一 箇中轉目標。這時,會採用 ARP 協議(Address Resolution Protocol)。ARP 是一種用以解析地址的協議, 根據通訊方的 IP 地址就能夠反查出對應的 MAC 地址。
5.2 TCP協議 : TCP 位於傳輸層,提供可靠的字節流服務 . tcp能大數據進行分割,而且可以確認最終是否能送達到對方手中.
5.3 TCP 協議的三次握手
發送端首先發送一個帶syn的數據包給服務端 接受端收到後返回一個SYN/ACK 標誌的數據包 .發送端再回傳一個帶有ACK標誌的數據包, 表明握手結束.
ps:究竟這三次握手到底發送了什麼? 用Wireshark 進行捉包 . 以下圖 ,進行了三次握手 .
.
對 第一次握手點擊追蹤tcp流 , 以下圖. 在TCP頭中的標誌位域, 咱們看到FLAGS字段 ,咱們看到了 syn 有設置標誌位
對第二次握手進行了追蹤流 以下圖 : ACK(Acknoledgment) 和 syn 分別都設置了標誌位
對第三次握手進行了追蹤流 以下圖 咱們看到了ack 設置了標誌位了
DNS 服務是和HTTP協議同樣位於應用層. 它提供域名和IP地址的解耦.
發送端 訪問www.baidu.com-> DNS服務器 解析www.biaud.com 爲20x,xxx,xxx,xxx-> 發送端
得到ip地址 ->再訪問www.baidu.com
其實就是經過DNS 服務器獲取域名對應的IP地址.
url格式 :