每天我們都在上網,每天我們都在瀏覽無數多的網頁,每天我們都在用瀏覽器跟伺服器打著交道,當我們在位址列中輸入位址,瀏覽器立即會呈現給我們想要的內容,那麼到底瀏覽器跟服務期間發生了什麼呢?
如上圖所示:
1、瀏覽器跟伺服器之間是通過套接字來通訊的,在伺服器端會有乙個監聽套接字,專門用來監聽瀏覽器端的請求,當伺服器端的監聽套接字(socket)每監聽到乙個瀏覽器端請求時都會建立乙個新的通訊套接字來跟指定的瀏覽器進行通訊,而監聽套接字會繼續監聽其他瀏覽器的請求。
2、新建立的這個通訊套接字會分析瀏覽器的請求報文,當請求乙個靜態頁面(html、htm、css、js等)時,伺服器就會從資料庫中取出瀏覽器所請求的頁面直接不做任何處理返回給瀏覽器。
而當通訊套接字發現瀏覽器請求的是動態頁面(aspx、ashx、jsp、phs等)時,伺服器會從資料庫中取出指定的頁面並做相應的加工之後再返回給瀏覽器。
上面描述的就是對使用者封裝好的瀏覽器跟伺服器之間的通訊過程,其實中間的細節還有好多(套接字是如何產生的、請求報文是如果分析的、對於動態頁面是怎麼加工的……),上面描述的只是一些大概路徑而已。
且看瀏覽器跟伺服器間的互動
每天我們都在上網,每天我們都在瀏覽無數多的網頁,每天我們都在用瀏覽器跟伺服器打著交道,當我們在位址列中輸入位址,瀏覽器立即會呈現給我們想要的內容,那麼到底瀏覽器跟服務期間發生了什麼呢?如上圖所示 1 瀏覽器跟伺服器之間是通過套接字來通訊的,在伺服器端會有乙個監聽套接字,專門用來監聽瀏覽器端的請求,當...
瀏覽器與web伺服器間的互動
在瀏覽器訪問 瀏覽器與web伺服器之間的互動 1 瀏覽器查詢本地的hosts檔案看是否有與所輸入主機名相匹配的ip位址,如果有則根據ip連線上web伺服器 如果沒有則訪問dns伺服器獲得與主機名對應的ip然後跟據ip連線上web伺服器 2 向伺服器傳送http請求 3 web伺服器從請求中檢索出瀏覽...
瀏覽器與web伺服器間的互動
在瀏覽器訪問 瀏覽器與web伺服器之間的互動 1 瀏覽器查詢本地的hosts檔案看是否有與所輸入主機名相匹配的ip位址,如果有則根據ip連線上web伺服器 如果沒有則訪問dns伺服器獲得與主機名對應的ip然後跟據ip連線上web伺服器 2 向伺服器傳送http請求 3 web伺服器從請求中檢索出瀏覽...