{%hackmd BJzAwtWvp %} # [其他] 從瀏覽器網址列輸入URL到網頁顯示的過程 ## 圖示 ```mermaid graph TD; A[瀏覽器輸入網址] --> B[瀏覽器查詢DNS快取]; B -->|如果找不到| C[瀏覽器向DNS伺服器查詢]; B -->|如果找到| I[瀏覽器取得IP位置]; C --> D[DNS伺服器查詢根伺服器]; D --> E[根伺服器指向頂級域名伺服器]; E --> F[頂級域名伺服器指向權威DNS伺服器]; F --> G[權威DNS伺服器回傳網站IP給瀏覽器]; G --> H[瀏覽器取得IP位置]; H --> TCP[TCP連線建立]; TCP --> I[瀏覽器發送HTTP請求到IP位置]; I --> J[伺服器接收請求]; J --> K[伺服器處理請求並準備回應]; K --> L[伺服器回傳HTTP回應]; L --> M[瀏覽器接收回應]; M --> N[瀏覽器解析HTML、CSS、JavaScript]; N --> O[瀏覽器顯示網頁]; ``` ## 名詞解釋 - 瀏覽器:用來查看網頁的軟體,例如 Chrome、Firefox、Safari 等。 - 網址 URL:Uniform Resource Locator,用來定位網路資源的位置。 - DNS:Domain Name System,用來將網址轉換成 IP 位置的服務。 - DNS快取:瀏覽器會將之前查詢過的網址與 IP 位置儲存在快取中,方便下次查詢。 - DNS伺服器:提供 DNS 服務的伺服器,用來查詢網址對應的 IP 位置。 - 根伺服器:DNS 系統的最高層級,用來指向頂級域名伺服器。 - 頂級域名伺服器:負責管理特定頂級域名的伺服器,例如 .com、.org、.net 等。 - 權威DNS伺服器:負責管理特定網域的伺服器,用來回傳網站的 IP 位置。 - IP位置:網路上的每一台電腦都有一個獨一無二的 IP 位置,用來識別電腦的位置。 - TCP連線:Transmission Control Protocol,用來建立網路連線的通訊協定。 - HTTP請求:HyperText Transfer Protocol,用來傳輸網頁資料的通訊協定。 - HTTP回應:伺服器回傳給瀏覽器的網頁資料。 - HTML、CSS、JavaScript:網頁的三大元素,用來設計和顯示網頁內容。 如果想要更詳細了解網頁的運作原理,可以參考以下連結:[what-happens-when](https://github.com/alex/what-happens-when)。