<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 一個頁面從輸入 URL 到頁面加載顯示完成,這個過程中都發生了什么?(流程說的越詳細越好) 注:這題勝在區分度高,知識點覆蓋廣,再不懂的人,也能答出幾句, 而高手可以根據自己擅長的領域自由發揮,從URL規范、HTTP協議、DNS、CDN、數據庫查詢、 到瀏覽器流式解析、CSS規則構建、layout、paint、onload/domready、JS執行、JS API綁定等等; #### 詳細版: 1、瀏覽器會開啟一個線程來處理這個請求,對 URL 分析判斷如果是 http 協議就按照 Web 方式來處理; 2、調用瀏覽器內核中的對應方法,比如 WebView 中的 loadUrl 方法; 3、通過DNS解析獲取網址的IP地址,設置 UA 等信息發出第二個GET請求; 4、進行HTTP協議會話,客戶端發送報頭(請求報頭); 5、進入到web服務器上的 Web Server,如 Apache、Tomcat、Node.JS 等服務器; 6、進入部署好的后端應用,如 PHP、Java、JavaScript、Python 等,找到對應的請求處理; 7、處理結束回饋報頭,此處如果瀏覽器訪問過,緩存上有對應資源,會與服務器最后修改時間對比,一致則返回304; 8、瀏覽器開始下載html文檔(響應報頭,狀態碼200),同時使用緩存; 9、文檔樹建立,根據標記請求所需指定MIME類型的文件(比如css、js),同時設置了cookie; 10、頁面開始渲染DOM,JS根據DOM API操作DOM,執行事件綁定等,頁面顯示完成。 #### 簡潔版: 1、瀏覽器根據請求的URL交給DNS域名解析,找到真實IP,向服務器發起請求; 2、 服務器交給后臺處理完成后返回數據,瀏覽器接收文件(HTML、JS、CSS、圖象等); 3、 瀏覽器對加載到的資源(HTML、JS、CSS等)進行語法解析,建立相應的內部數據結構(如HTML的DOM); 4、 載入解析到的資源文件,渲染頁面,完成。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看