萬維網是一個大規模的、聯機式的信息儲藏所。用鏈接的方法能非常方便地從因特網上的一個站點訪問另一個站點,從而主動地按需獲取豐富的信息。
萬維網是分佈式 超媒體(hypermedia)系統,它是超文本(hypertext)系統的擴充。
一個超文本由多個信息源鏈接成。利用一個鏈接可使用戶找到另一個文檔。這些文檔可以位於世界上任何一個接在因特網上的超文本系統中。超文本是萬維網的基礎。
超媒體與超文本的區別是文檔內容不同。超文本文檔僅包含文本信息,而超媒體文檔還包含其他表示方式的信息,如圖形、圖像、聲音、動畫,甚至活動視頻圖像。
統一資源定位符 URL 是對可以從因特網上得到的資源的位置和訪問方法的一種簡潔的表示。
從層次的角度看,HTTP 是面向事務的(transaction-oriented)應用層協議,它是萬維網上能夠可靠地交換文件(包括文本、聲音、圖像等各種多媒體文件)的重要基礎。
特點:
HTTP 是面向事務的客戶服務器協議。
HTTP 1.0 協議是無狀態的(stateless)。
HTTP 協議本身也是無連接的,雖然它使用了面向連接的 TCP 向上提供的服務。
用戶點擊鼠標後所發生的事件
(1) 瀏覽器分析超鏈指向頁面的 URL。
(2) 瀏覽器向 DNS 請求解析 www.tsinghua.edu.cn 的 IP 地址。
(3) 域名系統 DNS 解析出清華大學服務器的 IP 地址。
(4) 瀏覽器與服務器建立 TCP 連接
(5) 瀏覽器發出取文件命令:GET /chn/index.htm HTTP/1.1。
(6) 服務器給出響應,把文件 index.htm 發給瀏覽器。
(7) TCP 持續連接或釋放連接。
(8) 瀏覽器顯示「清華大學院系設置」文件 index.htm 中的所有文本。
代理服務器(proxy server)又稱爲萬維網高速緩存(Web cache),它代表瀏覽器發出 HTTP 請求。
萬維網高速緩存把最近的一些請求和響應暫存在本地設備(磁盤)中。
當與暫時存放的請求相同的新請求到達時,萬維網高速緩存就把暫存的響應發送出去,而不需要按 URL 的地址再去因特網訪問該資源。
HTTP 有兩類報文:
請求報文——從客戶向服務器發送請求報文。
響應報文——從服務器到客戶的回答。
由於 HTTP 是面向正文的(text-oriented),因此在報文中的每一個字段都是一些 ASCII 碼串,因而每個字段的長度都是不確定的。
CGI 是一種標準,它定義了動態文檔應如何創建,輸入數據應如何提供給應用程序,以及輸出結果應如何使用。萬維網服務器與 CGI 的通信遵循 CGI 標準。
「通用」:CGI 標準所定義的規則對其他任何語言都是通用的。
「網關」:CGI 程序的作用像網關。
「接口」:有一些已定義好的變量和調用等可供其他 CGI 程序使用。
CGI 程序的正式名字是 CGI 腳本(script)。
「腳本」指的是一個程序,它被另一個程序(解釋程序)而不是計算機的處理機來解釋或執行。腳本運行起來要比一般的編譯程序要慢,因爲它的每一條指令先要被另一個程序來處理(這就要一些附加的指令),而不是直接被指令處理器來處理。
活動文檔(active document)技術把所有的工作都轉移給瀏覽器端。
每當瀏覽器請求一個活動文檔時,服務器就返回一段程序副本在瀏覽器端運行。
活動文檔程序可與用戶直接交互,並可連續地改變屏幕的顯示。由於活動文檔技術不需要服務器的連續更新傳送,對網絡帶寬的要求也不會太高。
用 Java 技術創建活動文檔
在 Java 技術中使用 「小應用程序」(applet)來描述活動文檔程序。用戶從萬維網服務器下載嵌入了 Java 小應用程序的 HTML 文檔後,可在瀏覽器的屏幕上點擊某個圖像,就可看到動畫效果,或在下拉式菜單中點擊某個項目,就可看到計算結果。Java 技術是活動文檔技術的一部分。
在萬維網中用來進行搜索的程序叫做搜索引擎。
應用進程的控制權和操作系統的控制權進行轉換的一個接口,即應用編程接口 API。
1、當應用進程需要使用網絡進行通信時就發出系統調用,請求操作系統爲其創建「套接字」,以便把網絡通信所需要的系統資源分配給該應用進程。
2、操作系統爲這些資源的總和用一個叫做套接字描述符的號碼來表示,並把此號碼返回給應用進程。應用進程所進行的網絡操作都必須使用這個號碼。
3、通信完畢後,應用進程通過一個關閉套接字的系統調用通知操作系統回收與該「號碼」相關的所有資源。
連接建立階段
1、當套接字被創建後,它的端口號和 IP 地址都是空的,因此應用進程要調用 bind(綁定)來指明套接字的本地地址。在服務器端調用 bind 時就是把熟知端口號和本地IP地址填寫到已創建的套接字中。這就叫做把本地地址綁定到套接字。
2、服務器在調用 bind 後,還必須調用 listen(收聽)把套接字設置爲被動方式,以便隨時接受客戶的服務請求。UDP服務器由於只提供無連接服務,不使用 listen 系統調用。
3、服務器緊接着就調用 accept(接受),以便把遠地客戶進程發來的連接請求提取出來。系統調用 accept 的一個變量就是要指明從哪一個套接字發起的連接。
電子郵件把郵件發送到收件人使用的郵件服務器,並放在其中的收件人郵箱中,收件人可隨時上網到自己使用的郵件服務器進行讀取。
SMTP 所規定的就是在兩個相互通信的 SMTP 進程之間應如何交換信息。
由於 SMTP 使用客戶服務器方式,因此負責發送郵件的 SMTP 進程就是 SMTP 客戶,而負責接收郵件的 SMTP 進程就是 SMTP 服務器。
SMTP 規定了 14 條命令和 21 種應答信息。每條命令用 4 個字母組成,而每一種應答信息一般只有一行信息,由一個 3 位數字的代碼開始,後面附上(也可不附上)很簡單的文字說明。
郵局協議 POP 是一個非常簡單、但功能有限的郵件讀取協議,現在使用的是它的第三個版本 POP3。
POP 也使用客戶服務器的工作方式。
POP的監聽端口號:110。
在接收郵件的用戶 PC 機中必須運行 POP 客戶程序,而在用戶所連接的 ISP 的郵件服務器中則運行 POP 服務器程序。
IMAP 也是按客戶服務器方式工作,現在較新的是版本 4,即 IMAP4。
用戶在自己的 PC 機上就可以操縱 ISP 的郵件服務器的郵箱,就像在本地操縱一樣。
因此 IMAP 是一個聯機協議。當用戶 PC 機上的 IMAP 客戶程序打開 IMAP 服務器的郵箱時,用戶就可看到郵件的首部。若用戶需要打開某個郵件,則該郵件才傳到用戶的計算機上。
不要將郵件讀取協議 POP 或 IMAP 與郵件傳送協議 SMTP 弄混
發信人的用戶代理向源郵件服務器發送郵件,以及源郵件服務器向目的郵件服務器發送郵件,都是使用 SMTP 協議。
而 POP 協議或 IMAP 協議則是用戶從目的郵件服務器上讀取郵件所使用的協議。
動態主機配置協議 DHCP(Dynamic Host Configuration Protocol) 提供了即插即用連網(plug-and-play networking)的機制。這種機制允許一臺計算機加入新的網絡和獲取IP地址而不用手工參與。
運行過程:
並不是每個網絡上都有 DHCP 服務器,這樣會使 DHCP 服務器的數量太多。現在是每一個網絡至少有一個DHCP 中繼代理,它配置了 DHCP 服務器的 IP 地址信息。
當 DHCP 中繼代理收到主機發送的發現報文後,就以單播方式向 DHCP 服務器轉發此報文,並等待其回答。收到 DHCP 服務器回答的提供報文後,DHCP 中繼代理再將此提供報文發回給主機
DHCP 服務器分配給 DHCP 客戶的 IP 地址的臨時的,因此 DHCP 客戶只能在一段有限的時間內使用這個分配到的 IP 地址。DHCP 協議稱這段時間爲租用期。
租用期的數值應由 DHCP 服務器自己決定。
DHCP 客戶也可在自己發送的報文中(例如,發現報文)提出對租用期的要求。