HTTP圖解讀書筆記(第一章 瞭解web和網路基礎)
一、TCP/IP概念
TCP/IP是網際網路相關聯的協議集合的總稱,協議中存在各式各樣的內容。從電纜的規格到 IP 地址的選定方法、尋找異地使用者的方法、雙方建立通訊的順序,以及 Web 頁面顯示需要處理的步驟,等等。
二、TCP/IP的分層管理
分為四層:應用層、網路層、傳輸層、資料鏈路層。
應用層:決定了向用戶提供應用服務時通訊的活動。
TCP/IP預存了很多通用的應用服務,比如FTP(檔案傳輸協議)和DNS(域名系統),服務就是這兩類。
HTTP協議屬於該層。
傳輸層:對於上層應用層,提供處於網路連線中兩臺計算機之間的資料傳輸
傳輸層的兩個協議:TCP(傳輸控制協議)和UDP(使用者資料表協議)
網路層:處理網路中流動的資料包。資料包是網路傳輸中的最小單位,該層規定了通過怎樣的路徑到達對方的計算機,並把資料包傳送給對方。
與對方計算機之間通過多臺計算機或網路裝置進行傳輸時,網路層所起的作用就是在眾多的選項內選擇一條傳輸路線。
資料鏈路層(網路介面層):用來處理網路連線的硬體部分。包括驅動、網絡卡、網路介面卡、光纖等物理可見部分
三、TCP/IP通訊傳輸流
利用TCP/IP進行網路通訊時,傳送端從應用層往下走,接收端則從鏈路層嚮應用層走
通訊舉例:
1. 客戶端在應用層(HTTP)發出一個想看某個Web網頁的HTTP請求
2. 在傳輸層(TCP),為了傳輸方便,把從應用層接收到的資料(HTTP請求報文)進行分割,並在每個報文上打上標記序號及埠號後轉發給網路層
3. 在網路層(IP),增加作為通訊地址的MAC地址後轉發給鏈路層
4. 接收端的伺服器在鏈路層接收到資料後,按序往上層傳送,一直到應用層。
四、與HTTP密切相關的協議IP、TCP、DNS
1. IP
IP:位於網路層,IP和IP地址不一樣,它是一種網路協議。
IP作用:把各種資料包傳遞給對方,確保確實傳到對方那裡還需要滿足其他條件,最重要的條件是IP地址和MAC地址
IP地址:指明節點被分配到的地址,IP地址可換
MAC地址:網絡卡所屬的固定地址,MAC地址一般不換
IP間的通訊依賴MAC地址,一般通訊的兩臺裝置很少在同一個區域網(LAN)內,所以在中轉時,會搜尋下一個中轉目標的MAC地址。這時會採用ARP協議
ARP協議:解析地址的協議,根據通訊方的IP地址就可以查出對應的MAC地址
傳輸過程中,那些計算機和路由器只能獲悉很粗略的路由資訊,很難全面掌握路由資訊
2. TCP
TCP協議:位於傳輸層,確保可靠的位元組流服務
可靠的位元組流服務:位元組流服務是指為了傳輸方便,將大塊的資料分割成以報文段為單位的資料包進行管理,而可靠的位元組流服務指的是能將資料準確可靠的傳遞到對方,而且TCP能夠確認資料是否到達了對方。
三次握手:為了確保資料準確的到達對方,TCP採用三次握手
3. DNS
DNS:位於應用層,提供域名到IP地址之間的解析服務
使用者通常使用主機名和域名來訪問對方的計算機,而不是直接通過IP地址訪問。DNS協議通過域名查詢IP地址,或逆向的通過IP地址查詢域名
五、各種協議與HTTP協議之間的關係
六、URI和URL
URL:使用web瀏覽器訪問web頁面時輸入的網頁地址
URI:某個協議方案表示的資源定位識別符號。協議方案指的是訪問資源所使用的協議型別名稱
採用HTTP協議時,協議方案就是http,除此之外還有ftp、mailto、telnet、file
URI用字串標識某一網際網路的資源,而URL表示資源的地址。,可見URL是URI的子集
表示指定的URI,要使用涵蓋全部資訊的絕對URI、絕對URL和相對URL。相對URL指的是從瀏覽器中基於URI處指定的URL,形如/image/logo.gif
URI格式
協議方案名:使用 http: 或 https: 等協議方案名獲取訪問資源時要指定協議型別。不區分字母大小寫,最後附一個冒號(:)。
也可使用 data: 或 javascript: 這類指定資料或指令碼程式的方案名。
登入資訊:可選
伺服器地址:可以是DNS可解析的域名或IPV4或IPV6地址
埠號:可選,不設定則為預設埠號
帶層次的檔案路徑:指定伺服器上的檔案路徑來定位特指的資源。
查詢字串:針對已指定的檔案路徑內的資源,可以使用查詢字串傳入任意引數。此項可選
片段識別符號:使用片段識別符號通常可標記出已獲取資源中的子資源,可選