Web Server 將生成的頁面做爲 HTTP 響應的 body,根據不一樣的處理結果生成 HTTP header,發回給客戶端;
客戶端(瀏覽器)接收到 HTTP 響應,一般第一個請求獲得的 HTTP 響應的 body 裏是 HTML 代碼,因而對 HTML 代碼開始解析;
解析過程當中遇到引用的服務器上的資源(額外的 CSS、JS代碼,圖片、音視頻,附件等),再向 Web Server 發送請求,Web Server 找到對應的文件,發送回來;
瀏覽器解析 HTML 包含的內容,用獲得的 CSS 代碼進行外觀上的進一步渲染,JS 代碼也可能會對外觀進行必定的處理;
用戶與頁面交互(點擊,懸停等等)時,JS 代碼對此做出必定的反應,添加特效與動畫;
交互的過程當中可能須要向服務器索取或提交額外的數據(局部的刷新,相似微博的新消息通知),通常不是跳轉就是經過 JS 代碼(響應某個動做或者定時)向 Web Server 發送請求,Web Server 再用服務器腳本進行處理(生成資源or寫入數據之類的),把資源返回給客戶端,客戶端用獲得的資源來實現動態效果或其餘改變。