全球資訊網 WWW (World Wide Web)並非某種特殊的電腦網路,而是一個大規模的、聯機式的資訊儲藏所。
全球資訊網用連結的方法能非常方便地從網際網路上的一個網站訪問另一個網站,從而主動地按需擷取豐富的資訊。這種訪問方式稱為“連結”。
全球資訊網以客戶服務器方式工作。瀏覽器就是在使用者電腦上的全球資訊網客戶程式。全球資訊網文檔所駐留的電腦則運行伺服器程式,因此這個電腦也稱為全球資訊網伺服器。
客戶程式向伺服器程式發出請求,伺服器程式向客戶程式送回客戶所要的全球資訊網文檔。
統一資源定位器URL
統一資源定位器URL (Uniform Resource Locator)使每一個文檔在整個網際網路的範圍內具有唯一的標識符。
由以冒號隔開的兩大部分組成,並且在 URL中的字元對大寫或小寫沒有要求。
URL 的一般形式是:
<協議>://<主機>:<連接埠>/<路徑>
協議就是指是用什麼協議來擷取全球資訊網文檔。現在最常用的協議就是http,其次是ftp。
超文本傳送協議HTTP
HTTP協議定義了瀏覽器怎樣向全球資訊網伺服器請求全球資訊網文檔,以及伺服器怎樣把文檔傳送給瀏覽器。
從層次的角度看,HTTP 是面向事務的(transaction-oriented)應用程式層協議,它是全球資訊網上能夠可靠地分頁檔(包括文本、聲音、映像等各種多媒體檔案)的重要基礎。
全球資訊網的大致工作過程如下:
每個全球資訊網網點都有一個伺服器處理序,它不斷地監聽TCP的連接埠80,以便發現是否有瀏覽器向它發出串連建立請求。一旦監聽到串連建立的請求並建立了TCP串連之後,瀏覽器就向全球資訊網伺服器發出某個頁面的請求,伺服器接著就返回所請求的頁面作為響應。最後,TCP串連被釋放。
假如我們點擊了一個指向“www.tsinghua.edu.cn/chn/yxsz/index.htm”的超連結,在HTTP/1.0標準下會發生下面幾個事件:
(1) 瀏覽器分析超鏈指向頁面的 URL。
(2) 瀏覽器向 DNS 請求解析 www.tsinghua.edu.cn的 IP 位址。
(3) 網域名稱系統 DNS 解析出清華大學伺服器的 IP地址。
(4) 瀏覽器與伺服器建立 TCP串連
(5) 瀏覽器發出取檔案命令:
GET /chn/yxsz/index.htm。
(6) 伺服器給出響應,把檔案 index.htm發給瀏覽器。
(7) TCP 串連釋放。
(8) 瀏覽器顯示“清華大學院系設定”檔案 index.htm 中的所有文本。
HTTP 1.0 協議是無狀態的(stateless)。也就是說,同一個客戶第二次訪問同一個伺服器上的頁面時,伺服器的響應與第一次被訪問時的響應相同。伺服器不記得曾經訪問過的這個使用者,更不記得訪問過多少次。
HTTP 協議本身也是不需連線的,雖然它使用了連線導向的 TCP 向上提供的服務。雖然HTTP使用了TCP串連,但是通訊的雙方在交換HTTP報文之前不需要先建立HTTP串連。
與HTTP/1.0不同,HTTP/1.1使用了持續串連。即全球資訊網伺服器在發送響應後仍然在一段時間內保持這條串連,使同一個客戶(瀏覽器)和該伺服器可以繼續在這條串連上傳送後續的 HTTP 要求報文和響應報文。
這並不局限於傳送同一個頁面上連結的文檔,而是只要這些文檔都在同一個伺服器上就行。
HTTP有兩類報文:
請求報文——從客戶向伺服器發送請求報文。
響應報文——從伺服器到客戶的回答。
請求報文的結構如下:
報文由三個部分組成,即開始行、首部行和實體主體。在請求報文中,開始行就是請求行。
響應報文的結構如下:
響應報文的開始行是狀態行。狀態行包括三項內容,即 HTTP 的版本,狀態代碼,以及解釋狀態代碼的簡單短語。
狀態代碼都是三位元字:
1xx 表示通知資訊的,如請求收到了或進行中處理。
2xx 表示成功,如接受或知道了。
3xx 表示重新導向,表示要完成請求還必須採取進一步的行動。
4xx 表示客戶的差錯,如請求中有錯誤的文法或不能完成。
5xx 表示伺服器的差錯,如伺服器失效無法完成請求。
Proxy 伺服器
Proxy 伺服器(proxy server)又稱為全球資訊網快取(Webcache),它代表瀏覽器發出 HTTP 要求。
全球資訊網快取把最近的一些請求和響應暫存在本地磁碟中。當與暫時存放的請求相同的新請求到達時,全球資訊網快取就把暫存的響應發送出去,而不需要按 URL 的地址再去網際網路訪問該資源。
使用快取可減少訪問網際網路伺服器的時延,沒有使用快取的如下:
使用快取的情況如下:
(1)瀏覽器訪問網際網路的伺服器時,要先與校園網的快取建立 TCP 串連,並向快取發出HTTP 要求報文
(2)若快取已經存放了所請求的對象,則將此對象放入HTTP 響應報文中返回給瀏覽器。
(3)否則,快取就代表發出請求的使用者瀏覽器,與網際網路上的源點伺服器建立 TCP 串連,並發送 HTTP 要求報文。
(4)源點伺服器將所請求的對象放在 HTTP 響應報文中返回給校園網的快取。
(5)快取收到此對象後,先複製在其本機存放區器中(為今後使用),然後再將該對象放在HTTP 響應報文中,通過已建立的TCP 串連,返回給請求該對象的瀏覽器。