萬維網(WWW)
一、萬維網概述
- 萬維網 WWW (World Wide Web)是一個大規模的、聯機式的信息儲藏所。
- 萬維網用鏈接的方法能非常方便地從因特網上的一個站點訪問另一個站點,從而主動地按需獲取豐富的信息。
- 這種訪問方式稱為“鏈接”。
- 萬維網提供分布式服務:
1.1超媒體與超文本
- 萬維網是分布式超媒體(hypermedia)系統,它是超文本(hypertext)系統的擴充。
- 一個超文本由多個信息源鏈接成。利用一個鏈接可使用戶找到另一個文檔。這些文檔可以位於世界上任何一個接在因特網上的超文本系統中。超文本是萬維網的基礎。
- 超媒體與超文本的區別是文檔內容不同。超文本文檔僅包含文本信息,而超媒體文檔還包含其他表示方式的信息,如圖形、圖像、聲音、動畫,甚至活動視頻圖像。
1.2.萬維網的工作方式
- 萬維網以客戶服務器方式工作。
- 瀏覽器就是在用戶計算機上的萬維網客戶程序。萬維網文檔所駐留的計算機則運行服務器程序,因此這個計算機也稱為萬維網服務器。
- 客戶程序向服務器程序發出請求,服務器程序向客戶程序送回客戶所要的萬維網文檔。
- 在一個客戶程序主窗口上顯示出的萬維網文檔稱為頁面(page)。
1.3.萬維網必須解決的問題
1.怎樣標志分布在整個因特網上的萬維網文檔?
- 使用統一資源定位符 URL (Uniform Resource Locator)來標志萬維網上的各種文檔。
- 使每一個文檔在整個因特網的范圍內具有唯一的標識符 URL。
2.用什么協議實現萬維網上各種超鏈的鏈接?
- 在萬維網客戶程序與萬維網服務器程序之間進行交互所使用的協議,是超文本傳送協議 HTTP (HyperText Transfer Protocol)。
- HTTP 是一個應用層協議,它使用 TCP 連接進行可靠的傳送,一般使用80端口。
3.怎樣使各種萬維網文檔都能在因特網上的各種計算機上顯示出來,同時使用戶清楚地知道在什么地方存在着超鏈?
- 超文本標記語言 HTML (HyperText Markup Language)使得萬維網頁面的設計者可以很方便地用一個超鏈從本頁面的某處鏈接到因特網上的任何一個萬維網頁面,並且能夠在自己的計算機屏幕上將這些頁面顯示出來。
二、統一資源定位符 URL
- 統一資源定位符 URL 是對可以從因特網上得到的資源的位置和訪問方法的一種簡潔的表示。
- URL 給資源的位置提供一種抽象的識別方法,並用這種方法給資源定位。
2.1.URL 的一般形式
- 由以冒號隔開的兩大部分組成,並且在 URL 中的字符對大寫或小寫沒有要求。
- URL 的一般形式是:
2.2.使用 HTTP 的 URL
使用 HTTP 的 URL 的一般形式:
- "http"——表示使用HTTP協議;
- "://"——冒號和兩個左斜杠是規定的格式;
- "<主機>"——表示主機的域名;
- "<端口>"——HTTP的默認端口號是80,通常可省略;
- "<路徑>"——表示文件路徑,若再省略文件的<路徑>項,則 URL 就指到因特網上的某個主頁(home page)。
三、超文本傳輸協議HTTP
3.1.HTTP 的操作過程
- 為了使超文本的鏈接能夠高效率地完成,需要用 HTTP 協議來傳送一切必須的信息。
- 從層次的角度看,HTTP 是面向事務的(transaction-oriented)應用層協議,它是萬維網上能夠可靠地交換文件(包括文本、聲音、圖像等各種多媒體文件)的重要基礎。
3.2.HTTP 的報文結構
HTTP 有兩類報文:
- 請求報文——從客戶向服務器發送請求報文。
- 響應報文——從服務器到客戶的回答。
- 由於 HTTP 是面向正文的(text-oriented),因此在報文中的每一個字段都是一些 ASCII 碼串,因而每個字段的長度都是不確定的。
3.3.HTTP 請求報文的結構
報文由三個部分組成,即開始行、首部行和實體主體。在請求報文中,開始行就是請求行。
-
方法字段——對所請求的對象進行的操作,即一些命令。請求報文的類型是由它所采用的方法決定的;
HTTP 請求報文的一些方法
- OPTION:請求一些選項的信息;
- GET:請求讀取由 URL所標志的信息;
- HEAD:請求讀取由 URL所標志的信息的首部;
- POST:給服務器添加信息(例如,注釋);
- PUT:在指明的 URL下存儲一個文檔;
- DELETE:刪除指明的 URL所標志的資源;
- TRACE:用來進行環回測試的請求報文;
- CONNECT:用於代理服務器;
-
URL字段——所請求的資源的 URL;
-
版本字段——表示 HTTP 的版本;
3.4.HTTP 響應報文的結構
響應報文的開始行是狀態行。狀態行包括三項內容,即 HTTP 的版本,狀態碼,以及解釋狀態碼的簡單短語。
-
狀態碼
狀態碼都由三個數字組成:
- 1xx 表示通知信息的,如請求收到了或正在進行處理;
- 2xx 表示成功,如接受或知道了;
- 3xx 表示重定向,表示要完成請求還必須采取進一步的行動;
- 4xx 表示客戶的差錯,如請求中有錯誤的語法或不能完成;
- 5xx 表示服務器的差錯,如服務器失效無法完成請求;
3.5.超鏈接的工作過程
用戶點擊"鏈接"后所發生的事件 :
-
瀏覽器分析"文本"超鏈指向頁面的 URL;
-
瀏覽器向 DNS 請求解析 www.123.edu.cn 的 IP 地址;
-
域名系統 DNS 解析出服務器的 IP 地址;
-
瀏覽器與服務器建立 TCP 連接
-
瀏覽器發出取文件命令:
GET /chn/yxsz/index.htm。
-
服務器給出響應,把文件 index.htm 發給瀏覽器。
-
TCP 連接釋放。
-
瀏覽器顯示“文本”文件 index.htm 中的所有文本。
3.6.請求一個萬維網文檔所需的時間
RTT表示數據包(報文)往返時間。
3.7.持續連接 (persistent connection)
- HTTP/1.1 協議使用持續連接。
- 萬維網服務器在發送響應后仍然在一段時間內保持這條TCP連接,使同一個客戶(瀏覽器)和該服務器可以繼續在這條TCP連接上傳送后續的 HTTP 請求報文和響應報文。
- 這並不局限於傳送同一個頁面上鏈接的文檔,而是只要這些文檔都在同一個服務器上就行。
3.8.持續連接的兩種工作方式
- 非流水線方式:客戶在收到前一個響應后才能發出下一個請求。與非持續連接相比節省了建立 TCP 連接所需的一個 RTT 時間。但服務器在發送完一個對象后,其 TCP 連接就處於空閑狀態,浪費了服務器資源。
- 流水線方式:客戶在收到 HTTP 的響應報文之前就能夠接着發送新的請求報文。一個接一個的請求報文到達服務器后,服務器就可連續發回響應報文。使用流水線方式時,客戶訪問所有的對象只需花費一個 RTT時間,使 TCP 連接中的空閑時間減少,提高了下載文檔效率。
3.9.在服務器上存放用戶的信息
- 萬維網站點使用 Cookie 來跟蹤用戶。
- Cookie 表示在 HTTP 服務器和客戶之間傳遞的狀態信息。
- 使用 Cookie 的網站服務器為用戶產生一個唯一的識別碼。利用此識別碼,網站就能夠跟蹤該用戶在該網站的活動。
四、代理服務器 (proxy server)
- 代理服務器(proxy server)又稱為萬維網高速緩存(Web cache),它代替瀏覽器發出 HTTP 請求;
- 可以在代理服務器中設置哪些網段的計算機能通過代理服務器上網,能通過代理服務器上什么網;
- 萬維網高速緩存把最近的一些請求和響應暫存在本地磁盤中;
- 當與暫時存放的請求相同的新請求到達時,萬維網高速緩存就把暫存的響應發送出去,而不需要按 URL 的地址再去因特網訪問該資源。
4.1.使用代理服務器的場合
1.節省內網訪問 Internet 的帶寬。
安裝代理服務器前:
內網的所有計算機上網的流量都通過這條2Mb/s的鏈路,這會造成該鏈路時延過大。
安裝了代理服務器后:
- 瀏覽器訪問因特網的服務器時,要先與校園網的代理服務器建立 TCP 連接,並向代理服務器發出 HTTP 請求報文。
- 若代理服務器已經存放了所請求的對象,則將此對象放入 HTTP 響應報文中返回給瀏覽器。
- 否則,代理服務器就代表發出請求的用戶瀏覽器,與因特網上的源點服務器建立 TCP 連接,並發送 HTTP 請求報文。
- 源點服務器將所請求的對象放在 HTTP 響應報文中返回給校園網的代理服務器。
- 代理服務器收到此對象后,先復制在其本地存儲器中(為今后使用),然后再將該對象放在 HTTP 響應報文中,通過已建立的 TCP 連接,返回給請求該對象的瀏覽器。
2.繞過路由器的防火牆訪問外網
- 路由器設置的防火牆會攔截目標地址或源地址為特定地址的數據包。
- 路由器只識別數據包的源地址和目標地址,不關心數據包內容。
如圖所示,在國內的用戶PC1想訪問國外的某些網站時,路由器收到PC1的請求后,判斷出目標地址為國外的某網於是路由器的防火牆截斷了該請求,導致PC1無法成功訪問;
如果PC1通過國外的代理服務器中轉就可以訪問外網。PC1發出的請求數據包目標地址為國外某代理服務器,請求數據包到達路由器時,路由器判斷出數據包的目標地址不是防火牆設置的屏蔽地址,故能夠把數據包傳輸給國外的代理服務器,代理服務器再把數據包傳輸給外網的源服務器;從外網返回的數據包通過代理服務器中轉之后到達路由器時源地址變為代理服務器地址,故能繞開路由器的防火牆,成功到達PC1;由此PC1能夠訪問外網。
3.避免IP地址被跟蹤
當我們在網上發表言論時,有時候隱藏個人計算機的IP地址能夠帶來很大便利。通過代理服務器在網絡上進行活動能夠有效地防止個人計算機地IP地址被跟蹤。
原理為改變數據包地目標地址或源地址,過程與"上2"類似。
五、瀏覽器
瀏覽器就是在用戶計算機上的萬維網客戶程序,相當於客戶端。
5.1.瀏覽器的結構
5.2.瀏覽器中的緩存
- 瀏覽器將它取回的每一個頁面副本都放入本地磁盤的緩存中。
- 當用戶用點擊某個超鏈接時,瀏覽器首先檢查磁盤的緩存。若緩存中保存了超鏈接的URL指向的文件,瀏覽器就直接從緩存中得到該文件副本而不必從網絡獲取,這樣就明顯地改善瀏覽器的運行特性。 。
- 但緩存要占用磁盤大量的空間,而瀏覽器性能的改善只有在用戶再次查看緩存中的頁面時才有幫助。許多瀏覽器允許用戶調整緩存策略。