標籤:log 規範 完成 color input 格式 80連接埠 好處 pac
B/S架構帶來了以下兩方面的好處:
(1) 用戶端使用同一個的瀏覽器。瀏覽器有統一性,不需要特殊的配置。瀏覽器的互動性使得使用者使用它非常簡單。
(2) 服務端基於統一的HTTP。和傳統的C/S架構使用自訂應用程式層協議不同,B/S架構使用HTTP。使用HTTP也為服務提供者
簡化了開發模式,使得伺服器開發人員可以採用相對規範的開發模式,節省開發成本。基於HTTP的伺服器有很多,Apache, IIS, Nginx, Tomcat,
JBoss等。這些伺服器可以直接拿來使用,不需要單獨來開發。
1.1 B/S 網路架構概述
B/S基於統一的應用程式層協議HTTP來互動資料,與傳統的C/S互連網引用采用長串連不同,HTTP採用無狀態的短串連的通訊方式,通常,一次請求就完成一次資料互動。這種方式能同時服務多使用者。
當使用者在瀏覽器輸入URL斷行符號後,將會發生很多操作。首先它會請求DNS把這個個網域名稱解析成對應的IP地址,然後根據IP地址找到對應的伺服器,向這個伺服器發起一個get請求,服務返回資料資源給訪問的使用者。
伺服器可能有很多台,到底用哪一台來處理請求,這需要一個負載平衡裝置來平均分配使用者請求;
請求的資料是儲存在分布式緩衝裡還是一個靜態檔案中,或是在資料庫中;
當資料返回瀏覽器時,瀏覽器解析資料發現還有一些靜態資源(如CSS,JS或者圖片)時又會發起另外的HTTP請求,而這些請求的靜態資源很可能在CDN上,那麼CDN伺服器又會處理這個使用者的請求。
不管網路結構如何,始終有一些固定不變的原則:
(1) 互連網上所有的資源都要用一個URL來表示。
(2) 必須基於HTTP與伺服器端互動。
(3) 資料展示在瀏覽器端。
1.2 如何發起一個請求
如何發起一個HTTP請求和如何建立一個Socket串連區別不大,只不過outputStream.write寫的二進位位元組資料格式要符合HTTP。瀏覽器在建立Socket之前,必鬚根據地址欄裡輸入URL的網域名稱DNS解析出IP地址,再根據這個IP地址和預設的80連接埠號碼與遠程伺服器建立Socket串連,然後瀏覽器根據這個URL組裝成一個get類型的HTTP要求標頭,通過outputStream.write發送到目標伺服器,伺服器等待inputStream.read返回資料,最後斷開這個串連。
第一章 深入web請求過程