HTTP(HyperText Transfer Protocol,超文本傳輸協)web
- web 是創建在http協議上通訊的
- HTML(HyperText Markup Language,超文本標記語言)
- URL(Uniform Resource Locator,統一資源定位符)。

網絡基礎 TCP/IP瀏覽器
- 一般使用的網絡(包括互聯網)是在 TCP/IP 協議族的基礎上運做的。
- 而 HTTP 屬於它內部的一個子集。
- 不一樣硬件、操做系統之間通訊須要協議

- TCP/IP 是互聯網相關的各種協議族的總稱
- 協議中存在各式各樣的內容。
- 從電纜的規格到 IP 地址的選定方法、尋找異地用戶的方法、雙方創建通訊的順序,以及 Web 頁面顯示須要處理的步驟,等等。
- 像這樣把與互聯網相關聯的協議集合起來總稱爲 TCP/IP
- TCP/IP 是指 TCP 和 IP 這兩種協議。
- 應用層、傳輸層、網絡層和數據鏈路層。
- 應用層:應用層決定了向用戶提供應用服務時通訊的活動。
- TCP/IP 協議族內預存了各種通用的應用服務。
- 好比,FTP(FileTransfer Protocol,文件傳輸協議)和 DNS(Domain Name System,域名系統)服務就是其中兩類。
- HTTP 協議也處於該層。
- 傳輸層:傳輸層對上層應用層,提供處於網絡鏈接中的兩臺計算機之間的數據傳輸。
- 在傳輸層有兩個性質不一樣的協議:TCP(Transmission ControlProtocol,傳輸控制協議)和 UDP(User Data Protocol,用戶數據報協議)。
- 網絡層(又名網絡互連層):網絡層用來處理在網絡上流動的數據包。
- 數據包是網絡傳輸的最小數據單位。
- 該層規定了經過怎樣的路徑(所謂的傳輸路線)到達對方計算機,並把數據包傳送給對方。
- 鏈路層(又名數據鏈路層,網絡接口層):用來處理鏈接網絡的硬件部分。
- 包括控制操做系統、硬件的設備驅動、NIC(Network Interface Card,網絡適配器,即網卡),及光纖等物理可見部分(還包括鏈接器等一切傳輸媒介)。
- 硬件上的範疇均在鏈路層的做用範圍以內。

- 各個層協議樣式
- 這種把數據信息包裝起來的作法稱爲封裝(encapsulate)

負責傳輸的 IP 協議網絡
- IP(Internet Protocol)網際協議位於網絡層。
- TCP/IP 協議族中的 IP 指的就是網際協議,協議名稱中佔據了一半位置,其重要性可見一斑
- IP 協議的做用是把各類數據包傳送給對方。
- 要保證確實傳送到對方那裏,則須要知足各種條件。
- 其中兩個重要的條件是 IP 地址和 MAC地址(Media Access Control Address)。
- IP 地址指明瞭節點被分配到的地址,
- MAC 地址是指網卡所屬的固定地址。
- IP 地址指明瞭節點被分配到的地址,
- MAC 地址是指網卡所屬的固定地址。(硬件出廠就不可變)
- 使用 ARP 協議憑藉 MAC 地址進行通訊
- 在網絡上,通訊的雙方在同一局域網(LAN)內的狀況是不多的,一般是通過多臺計算機和網絡設備中轉才能鏈接到對方。
- 而在進行中轉時,會利用下一站中轉設備的 MAC地址來搜索下一個中轉目標。
- ARP 是一種用以解析地址的協議,根據通訊方的 IP 地址就能夠反查出對應的 MAC 地址。
- ARP 協議(AddressResolution Protocol)。
- 沒有人可以全面掌握互聯網中的傳輸情況
- 在到達通訊目標前的中轉過程當中,那些計算機和路由器等網絡設備只能獲悉很粗略的傳輸路線。
- 這種機制稱爲路由選擇(routing)

確保可靠性的 TCP 協議大數據
- TCP 位於傳輸層,提供可靠的字節流服務。
- 所謂的字節流服務(Byte Stream Service)是指,爲了方便傳輸,將大塊數據分割成以報文段(segment)爲單位的數據包進行管理。
- 而可靠的傳輸服務是指,可以把數據準確可靠地傳給對方。
- 一言以蔽之,TCP 協議爲了更容易傳送大數據才把數據分割,並且 TCP 協議可以確認數據最終是否送達到對方。
確保數據能到達目標操作系統
- 爲了準確無誤地將數據送達目標處,TCP 協議採用了三次握手(three-way handshaking)策略。
- 發送端首先發送一個帶 SYN 標誌的數據包給對方。
- 接收端收到後,回傳一個帶有 SYN/ACK 標誌的數據包以示傳達確認信息。
- 最後,發送端再回傳一個帶 ACK 標誌的數據包,表明「握手」結束。
- 若在握手過程當中某個階段莫名中斷,TCP 協議會再次以相同的順序發送相同的數據包。
- 握手過程當中使用了 TCP 的標誌(flag) —— SYN(synchronize) 和ACK(acknowledgement)。

負責域名解析的 DNS 服務3d
- DNS(Domain Name System)服務是和 HTTP 協議同樣位於應用層的協議。
- 它提供域名到 IP 地址之間的解析服務。
- 計算機既能夠被賦予 IP 地址,也能夠被賦予主機名和域名。
- 用戶一般使用主機名或域名來訪問對方的計算機,而不是直接經過 IP地址訪問。
- 這樣更符合人類的記憶習慣。
- DNS 協議提供經過域名查找 IP 地址,或逆向從 IP 地址反查域名的服務。

各類協議與 HTTP 協議的關係
orm
URI 和 URL對象
- 與 URI(統一資源標識符)相比,咱們更熟悉 URL(UniformResource Locator,統一資源定位符)。
- URL 正是使用 Web 瀏覽器等訪問 Web 頁面時須要輸入的網頁地址。
- 統一資源標識符URI 是 Uniform Resource Identifier 的縮寫。
- Uniform 規定統一的格式可方便處理多種不一樣類型的資源,而不用根據上下文環境來識別資源指定的訪問方式。
- Resource資源的定義是「可標識的任何東西」。
- Identifier表示可標識的對象。也稱爲標識符。
綜上所述,URI 就是由某個協議方案表示的資源的定位標識符。blog
- 採用 HTTP 協議時,協議方案就是 http。除此以外,還有 ftp、mailto、telnet、file 等。
- URI 用字符串標識某一互聯網資源,而 URL 表示資源的地點(互聯網上所處的位置)。
URI 格式接口
- 表示指定的 URI,要使用涵蓋所有必要信息的絕對 URI、絕對 URL 以及相對 URL。
- 相對 URL,是指從瀏覽器中基本 URI 處指定的 URL,形如 /image/logo.gif。
- 絕對 URI 的格式。