Internet,人們通常稱為因特網,是當今世界上覆蓋面最大和應用最廣泛的網絡。根據英語構詞法,Internet是Inter + net,Inter-作為前綴在英語中表示“在一起,交互”,由此可知Internet的目的是讓各個 net 交互。所以,Internet 實質上是將世界上各個國家、各個網絡運營商的多個網絡相互連接構成的一個全球范圍內的統一網,使各個網絡之間能夠相互到達。各個國家和運營商構建網絡采用的底層技術和實現可能各不相同,但只要采用統一的上層協議(TCP/IP)就可以通過Internet相互通信。
為了使各個網絡中的主機能夠相互訪問,Internet 為每個主機分配一個地址,稱為 IP 地址,IPv4的IP地址是32位二進制數字,通常人們用4個0~255的數字表示,例如:127.0.0.1,稱為“點分十進制”表示法。圖1.1是Internet物理結構的示意圖。
圖1.1 Internet物理結構示意圖
Internet 物理結構如圖1.1所示,它將若干個子網通過路由器連接起來,這些子網可以具有不同類型的網絡結構,但子網中的每個主機必須擁有全局唯一的IP地址;路由器是用于轉發子網之間數據的設備,路由器上有若干個端口,每個端口擁有一個IP地址,一個端口可以連接一個子網。Internet上的數據可以從一個主機發送到另外一個主機,數據以數據包的形式傳送;源主機在發送數據包時會在數據包前面加上目的主機的IP地址,路由器通過識別IP地址將數據包發送到適當的子網中;當數據在子網中傳播時,擁有該IP地址的主機就會接收該數據包。很多計算機網絡教材都使用郵政寄信的例子形象地說明了這個Internet中數據包的傳送過程。
Internet 底層的組織和傳輸原理是很復雜的,感興趣的讀者可以選擇相關的計算機網絡教材進行深入學習。但作為開發Web應用的軟件工程師,通常只是從Internet的應用層面考慮Internet的原理;從應用層面的角度考慮,可以認為Internet是連接所有主機的一個龐大的網絡體系,每個主機擁有一個IP地址,主機之間通過IP地址相互傳遞信息和數據。Web應用實質上是一種特殊的應用,它可以在Internet的主機之間相互交流具有預定義格式的信息和數據。
通常Web應用是運行在服務器中的一個應用程序,在上例中希賽網Web服務器中處理客戶機響應的程序就是一個典型的Web應用;接收請求、分析請求、構造響應、發送響應都是由該Web應用完成的,這幾項工作也是大多數 Web 應用的主要工作。所謂接收請求就是監聽服務器的特定端口,當有請求到達端口時就讀取該請求,這通常都是由Web容器(例如Tomcat)完成的;所謂分析請求就是解析收到的請求,從中獲得請求的內容;所謂構造響應就是根據客戶的請求,在進行適當的動作后,構造適當的響應數據;所謂發送響應就是將構造好的響應數據發送給客戶機,這通常也是由 Web 容器自動完成的。所以,Web 應用的核心就是如何分析請求、完成相應動作并構造響應。而這其中的分析請求和構造響應都是與Internet的一種傳輸協議——HTTP——緊密相關的,因為它規定了Web應用中的數據在網絡中的傳輸方式和傳輸格式。