圖解HTTP協(xié)議讀書(shū)筆記一

圖解HTTP協(xié)議讀書(shū)筆記一

個(gè)人閱讀《圖解HTTP》的記錄以及總結(jié)

HTTP協(xié)議的概念

? HTTP通常被譯為超文本傳輸協(xié)議,但這種譯法并不嚴(yán)謹(jǐn),嚴(yán)謹(jǐn)?shù)淖g法應(yīng)為"超文本轉(zhuǎn)移協(xié)議",HTTP協(xié)議也是客戶(hù)端與服務(wù)端的請(qǐng)求和應(yīng)答一種標(biāo)準(zhǔn),我們的WEB就是使用HTTP協(xié)議作為規(guī)范



由于WEB是建立在HTTP協(xié)議上通信的,而通?;ヂ?lián)網(wǎng)是建立在TCP/IP協(xié)議族的基礎(chǔ)上運(yùn)作的,HTTP是TCP/IP的一個(gè)子集。所以要了解HTTP協(xié)議我們有必要了解下TCP/IP協(xié)議

對(duì)TCP/IP理解

1.TCP/IP協(xié)議族里重要的一點(diǎn)就是分層

TCP/IP分為應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、和數(shù)據(jù)鏈路層

應(yīng)用層:決定了向用戶(hù)提供應(yīng)用服務(wù)時(shí)通信的活動(dòng)。

TCP/IP協(xié)議族內(nèi)預(yù)存了各類(lèi)通用的應(yīng)用服務(wù)

如FTP 文件傳輸協(xié)議 DNS域名系統(tǒng)

HTTP在這應(yīng)用層

傳輸層:對(duì)上層應(yīng)用層, 提供處于網(wǎng)絡(luò)連接中的兩臺(tái)計(jì)算機(jī)之間數(shù)據(jù)傳輸

在傳輸層有兩個(gè)性質(zhì)不同的協(xié)議 :

1. TCP 傳輸控制協(xié)議

2. UDP 用戶(hù)數(shù)據(jù)報(bào)協(xié)議

?網(wǎng)絡(luò)層(又名網(wǎng)絡(luò)互連層)

?網(wǎng)絡(luò)層用來(lái)處理在網(wǎng)絡(luò)上流動(dòng)的數(shù)據(jù)包。數(shù)據(jù)包是網(wǎng)路傳輸?shù)淖钚?shù)據(jù)單位。

?該層規(guī)定了通過(guò)怎樣的的路徑(所謂傳輸線(xiàn)路)到達(dá)對(duì)方計(jì)算機(jī),并把數(shù)據(jù)包傳送給對(duì)方。

?鏈路層(又名數(shù)據(jù)鏈路層,網(wǎng)絡(luò)接口層)

用來(lái)處理連接網(wǎng)絡(luò)的硬件部分。

包括控制操作系統(tǒng)、硬件的設(shè)備驅(qū)動(dòng)、NIC(網(wǎng)卡),及光纖等物理可見(jiàn)部分

還包括連接器等一切傳輸媒介。

示例:


2.IP協(xié)議

IP屬于網(wǎng)絡(luò)層

IP協(xié)議與IP地址不是一種東西。

IP協(xié)議的作用是把各種數(shù)據(jù)包傳送給對(duì)方。而要保證確實(shí)傳送到對(duì)方那里,則需要滿(mǎn)足各類(lèi)條件。其中兩種重要的條件是IP地址和MAC地址

IP地址指明了節(jié)點(diǎn)被分配到的地址,MAC地址是指網(wǎng)卡所屬的固定地址。IP地址可以和MAC地址進(jìn)行配對(duì)。IP地址可變換,但MAC地址基本不會(huì)更改。

IP間的通信依賴(lài)MAC地址。此時(shí)會(huì)采用ARP協(xié)議。ARP是一種用以解析地址的協(xié)議,根基通信方的IP地址就可以反查出對(duì)應(yīng)的MAC地址

3.TCP協(xié)議

按層次分,TCP位于傳輸層,提供可靠地字節(jié)流服務(wù)。

這是指為了方便傳輸,將大塊數(shù)據(jù)分割成以報(bào)文段(segment)為單位的數(shù)據(jù)包進(jìn)行管理。而可靠地傳輸協(xié)議為了更容易傳送大數(shù)據(jù)才把數(shù)據(jù)分割,而且TCP協(xié)議能夠確認(rèn)數(shù)據(jù)最終是否送達(dá)到對(duì)方。

4.經(jīng)典的TCP/IP里的三次握手

TCP采取三次握手的方式確保數(shù)據(jù)的送達(dá)。

握手過(guò)程中使用了TCP的標(biāo)志 - SYN 和 ACK

發(fā)送端首先發(fā)送一個(gè)帶SYN標(biāo)志的數(shù)據(jù)包給對(duì)方。接收端收到后,回傳一個(gè)帶有SYN/ACK標(biāo)志的數(shù)據(jù)包以示傳達(dá)確認(rèn)信息。最后,發(fā)送端再回傳一個(gè)帶ACK標(biāo)志的數(shù)據(jù)包,代表“握手”結(jié)束。

注:若在握手過(guò)程中某個(gè)階段莫名中斷,TCO協(xié)議會(huì)再次以相同的順序發(fā)送相同的數(shù)據(jù)包。

三次握手圖示:


5.DNS

DNS服務(wù)是和HTTP協(xié)議一樣位于應(yīng)用層的協(xié)議。

它提供域名和IP地址之間的解析服務(wù)。

計(jì)算機(jī)既可以被賦予IP地址,也可以被賦予主機(jī)名和域名。

以用戶(hù)的角度一般都是通過(guò)域名訪(fǎng)問(wèn)對(duì)方的計(jì)算機(jī)(通過(guò)瀏覽器訪(fǎng)問(wèn)網(wǎng)站),而不是通過(guò)輸入IP地址來(lái)訪(fǎng)問(wèn)。域名方式更符合人類(lèi)的記憶習(xí)慣。

同樣的讓計(jì)算機(jī)理解域名相對(duì)而言就變得困難了。因?yàn)橛?jì)算機(jī)更擅長(zhǎng)處理一長(zhǎng)串?dāng)?shù)字。

為了解決上述的問(wèn)題,DNS服務(wù)應(yīng)運(yùn)而生。DNS協(xié)議提供通過(guò)域名查找IP地址,或逆向從IP地址反查詢(xún)域名的服務(wù)。

6.URI和URL

URI用字符串標(biāo)識(shí)某一互聯(lián)網(wǎng)資源,而URL表示資源的地點(diǎn)(指的是互聯(lián)網(wǎng)上所處的位置)。

由此可見(jiàn)URL識(shí)URI的子集。


初識(shí)HTTP

1.HTTP協(xié)議用于客戶(hù)端和服務(wù)端之間的通信

客戶(hù)端:請(qǐng)求訪(fǎng)問(wèn)文本或圖像等資源的一端

服務(wù)端:提供資源響應(yīng)的一端

注:在應(yīng)用HTTP協(xié)議時(shí),必定是一端擔(dān)任客戶(hù)端角色,另一端擔(dān)任服務(wù)端角色,在實(shí)際情況下,倆端角色可能互換,但是再一條通信線(xiàn)路中,用HTTP協(xié)議就能明確兩端定位。

2.通過(guò)請(qǐng)求和響應(yīng)的交換達(dá)成通信

請(qǐng)求必定由客戶(hù)端發(fā)出,而服務(wù)端響應(yīng)該請(qǐng)求并返回。

換句話(huà)說(shuō)通信是從客戶(hù)端開(kāi)始的建立的,服務(wù)端在沒(méi)有接收到請(qǐng)求之前不會(huì)發(fā)送響應(yīng)。

3.HTTP是不保存狀態(tài)的協(xié)議

即無(wú)狀態(tài)協(xié)議。

4.HTTP協(xié)議以報(bào)文形式交流

請(qǐng)求報(bào)文是由請(qǐng)求方法、請(qǐng)求URL、協(xié)議版本、可選的請(qǐng)求首部字段和內(nèi)容實(shí)體構(gòu)成的。

(后面會(huì)深入了解)

5.HTTP/1.1 是一種無(wú)狀態(tài)的協(xié)議。

為了實(shí)現(xiàn)期望的保持狀態(tài)的功能,于是引入了Cookie技術(shù)。

有了Cookie技術(shù)再用HTTP協(xié)議通信,就可以管理狀態(tài)了

(后面會(huì)深入了解)

6.當(dāng)客戶(hù)端請(qǐng)求訪(fǎng)問(wèn)資源而發(fā)送請(qǐng)求時(shí),URI需要將作為請(qǐng)求報(bào)文中的請(qǐng)求URI包含在內(nèi)。

圖示:

原文地址: 圖解HTTP讀書(shū)筆記一

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 個(gè)人認(rèn)為,Goodboy1881先生的TCP /IP 協(xié)議詳解學(xué)習(xí)博客系列博客是一部非常精彩的學(xué)習(xí)筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,195評(píng)論 0 8
  • 1.這篇文章不是本人原創(chuàng)的,只是個(gè)人為了對(duì)這部分知識(shí)做一個(gè)整理和系統(tǒng)的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,368評(píng)論 6 174
  • 本文是《圖解HTTP》讀書(shū)筆記的第一篇,主要包括此書(shū)的前五章內(nèi)容,簡(jiǎn)要記錄一下。大概分為以下幾部分: TCP/IP...
    lijiankun24閱讀 1,412評(píng)論 0 2
  • 1.OkHttp源碼解析(一):OKHttp初階2 OkHttp源碼解析(二):OkHttp連接的"前戲"——HT...
    隔壁老李頭閱讀 21,587評(píng)論 24 176
  • 1. 網(wǎng)絡(luò)基礎(chǔ)TCP/IP HTTP基于TCP/IP協(xié)議族,HTTP屬于它內(nèi)部的一個(gè)子集。 把互聯(lián)網(wǎng)相關(guān)聯(lián)的協(xié)議集...
    yozosann閱讀 3,610評(píng)論 0 20

友情鏈接更多精彩內(nèi)容