---
# System prepended metadata

title: '[其他] 從瀏覽器網址列輸入URL到網頁顯示的過程'
tags: [其他]

---


# [其他] 從瀏覽器網址列輸入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)。
