從URL到頁面

如何訪問網站

  • Step0 解析URL
    用戶(客戶端瀏覽器)將url解析成三部分:協議 ,域名,路徑。

  • Step1 定位主機
    DNS(Domain Name System) 將域名解析為IP地址(主機在操作系統中的定位)
    解析過程:瀏覽器緩存–>系統緩存–>路由器緩存–>ISP DNS緩存–>遞歸搜索

  • Step2 打包請求
    通過HTTP協議將http報文打包成請求

  • Step3 創立連接
    通過TCP協議去連接IP地址對應的服務器

  • Step4 發送請求
    通過默認端口80向遠程服務器發送請求

  • Step5 處理請求

    • HTML文件
      Apache服務器在它管理的文檔目錄中找到并打開相應的HTML文件 ==》
      客戶端瀏覽器
    • PHP文件
      Apache服務器無法處理php動態語言腳本文件 ==》
      PHP應用服務器接受PHP文件,打開并解析,翻譯成HTML靜態代碼 ==》
      Apache服務器 ==》
      客戶端瀏覽器
    • MySQL數據庫
      Apache服務器 ==》
      PHP應用服務器打開PHP文件 ==》
      通過PHP文件中的連接代碼連接MySQL數據庫 ==》
      通過PHP程序執行標準的SQL查詢語句獲取數據庫中的數據 ==》
      PHP應用服務器將數據生成HTML靜態代碼 ==》
      Apache服務器 ==》
      客戶端瀏覽器
  • Step5 處理響應
    瀏覽器收到響應,接收并下載服務器端的html靜態代碼渲染網頁
    渲染過程:解析html生成DOM樹,解析css生成CSS樹–>合并成為渲染樹–>解析js并執行

常見wed服務器

  • Apache
    世界排名第一、免費開源的Web服務器軟件,可以安裝運行在絕大多數的計算機平臺上,支持大多數語言開發的B/S結構軟件。功能強大,尤其在靜態頁面處理速度上表現優異。
  • Lighttpd
    輕量級web服務器,cpu占用低,效能好,模塊豐富。
  • Tomcat
    Apache下的一個核心子項目,是目前使用量最大的免費的JAVA服務器。主要處理的是JSP頁面和Servlet文件。常與Apache整合使用。
  • Nginx
    輕量級,高性能http和反向代理服務器。其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。
  • IIS
    Windows產品自帶的免費Web服務器,安裝配置簡單,主要解析ASP程序代碼。一般跟Apache整合使用。配置過程中需注意權限問題。

如何訪問饑人谷

1 解析URL 協議:http 域名:jirengu.com
2 DNS解析 得到IP地址:121.40.201.213:80 端口:80
3 發送請求打包過的請求體通過80端口發給nginx服務器
4 響應請求 獲取PHP文件委托PHP應用服務區MySQL數據庫獲得數據并翻譯成html靜態代碼返還
5 渲染頁面 解析相關代碼合并成渲染樹解析并運行JS代碼下載內嵌資源

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容