瀏覽器內部都有dns客戶端,它先查詢本地dns快取中是否有該網域名稱的ip,如果有就直接去訪問該ip。如果沒有,該dns客戶端先要查詢自己主機所設定的dns伺服器,然後去該dns伺服器去查詢ip。
如果該dns伺服器本地快取中有該網域名稱的a記錄(網域名稱與ip位址的對應記錄),則直接返回給瀏覽器中的dns客戶端。沒有該網域名稱的a記錄,就通過遞迴的方式向上詢問其他dns伺服器,也許問到了根dns伺服器才找到了答案。於是這條路上所有被詢問過的dns伺服器,都將此網域名稱對應的a記錄快取到自己的cache中,以備下次再有相同網域名稱查詢時好直接返回。
瀏覽器中的dns客戶端得到此網域名稱的ip位址後,也將該網域名稱和ip放在自己的快取中,以備下次使用者再鍵入統一網域名稱時,避免再查一次ip。
瀏覽器開始通過網路用http協議訪問該ip位址的80埠(預設是80埠,除非特別指定)。
一般情況下該ip對應的裝置不是最終的web伺服器,很少有人把web伺服器直接暴露在公網。假設該ip對應的裝置是臺閘道器(一般是硬體路由裝置),該閘道器檢查本地快取中是否有相關web伺服器的快取,若有則直接將該http請求分配給快取中的web伺服器。否則從伺服器列表中重新分配一台web伺服器,將該http請求**給該web伺服器處理。隨後將該web伺服器的ip位址(一般是內網位址)和埠號快取起來,以備下次該使用者的請求到來時,依然給該web伺服器。有的閘道器可以識別使用者cookie資訊,從而可以將請求再次落到上乙個請求的web伺服器上。
web伺服器拿到請求後,如果是靜態請求,先檢查自己的快取中是否有該頁面的記錄,否則直接從硬碟上取出頁面,將其返回後,再存入本地靜態快取中。如果動態請求,先交給自己的cgi去處理。
cgi拿到資料後,先檢查自己的快取系統,如memcache,如果快取中沒有,與資料庫建立連線,向資料庫發出請求。
資料庫也是先檢查自己的快取,如沒有結果集,則從表中檢索到資料後返回,並將結果快取起來。
cgi拿到資料後,返回給web伺服器,並將資料快取到memcache中。
web伺服器拿到資料後,將資料返回給閘道器。由於是動態資料不需要快取。
閘道器拿到資料後,直接返回給瀏覽器。
如果瀏覽器發現其中有靜態資料,如,也將靜態資料快取到使用者的internet臨時目錄。
瀏覽器中輸入乙個網域名稱位址
從瀏覽器中輸入乙個網域名稱位址,我們會經歷哪些過程,這篇文章不會去細化到每乙個過程的具體實現,後面的文章會陸續告訴你。那麼我們應該關注哪些東西呢?瀏覽器 網路 伺服器 瀏覽器 協議名稱 伺服器名 網域名稱 資源路徑 引數瀏覽器客戶端解析好我們輸入的位址以後,解析出網域名稱,再根據網域名稱解析出ip位...
瀏覽器中輸入乙個網域名稱位址
從瀏覽器中輸入乙個網域名稱位址,我們會經歷哪些過程,這篇文章不會去細化到每乙個過程的具體實現,後面的文章會陸續告訴你。那麼我們應該關注哪些東西呢?瀏覽器 網路 伺服器 瀏覽器 協議名稱 伺服器名 網域名稱 資源路徑 引數瀏覽器客戶端解析好我們輸入的位址以後,解析出網域名稱,再根據網域名稱解析出ip位...
推薦乙個瀏覽器 搜狗
上邊顯示自己的登陸的賬戶,有各種工具,在最下邊一行中的各種工具很強大,可以新增各種工具,搜狗瀏覽器本身提供了各種常用的瀏覽器,使用起來十分方便,我用的較多的有訊息盒子 在訊息盒子中可以繫結自己的各種賬號,各種通知都可以進行瀏覽 收藏夾也十分有用,個人比較喜歡 還有上邊的京東 了解購物資訊很方便的 本...