一個普通網站訪問的過程



  • 用戶操做瀏覽器訪問,瀏覽器向服務器發出一個 HTTP 請求;
  • 服務器接收到 HTTP 請求,Web Server 進行相應的初步處理,使用服務器腳本生成頁面;
  • 服務器腳本(利用Web Framework)調用本地和客戶端傳來的數據,生成頁面;
  • 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寫入數據之類的),把資源返回給客戶端,客戶端用獲得的資源來實現動態效果或其餘改變。
相關文章
相關標籤/搜索