跳到主要內容
Cypher's Practical Coding
正在準備工作環境...

網站是怎麼運作的?

你每天打開瀏覽器、輸入網址、看到商品頁面——這一切在幾百毫秒內就完成了。但背後到底發生了什麼事?

情境:客戶說「網站打不開」

你是電商平台的業務,客戶打電話來說:「我輸入你們的網址,但網站打不開!」

你需要跟工程師回報這個問題。但你要怎麼描述?是 DNS 出問題?是伺服器掛了?還是網路斷了?

學完這課,你就能聽懂工程師在說什麼,甚至能幫忙初步判斷問題出在哪一步。

網站運作的三步驟

當你在瀏覽器輸入 shop.example.com,背後會發生三件事:

步驟做什麼生活比喻
1. DNS 查詢把網址翻譯成 IP 位址像查電話簿,把「王小明」翻成「0912-345-678」
2. 送出請求瀏覽器用 IP 位址找到伺服器,發送請求撥電話給對方
3. 收到回應伺服器把網頁內容傳回瀏覽器對方接電話,告訴你要的資訊

第一步:DNS — 網址翻譯機

DNS(Domain Name System)就是網路世界的電話簿。

人類記得住 shop.example.com,但電腦只認得 IP 位址(像 203.104.1.55)。DNS 負責把「人類看得懂的網址」翻譯成「電腦看得懂的 IP 位址」。

第二步:發送請求(Request)

瀏覽器拿到 IP 後,會向伺服器送出一個「請求(Request)」。請求裡包含你要什麼:

第三步:收到回應(Response)

伺服器收到請求後,回傳一個「回應(Response)」。回應裡有狀態碼和內容:

常見的 HTTP 狀態碼

當工程師說「回 404」或「噴 500」,他們在說的是 HTTP 狀態碼:

狀態碼意思白話翻譯
200OK一切正常
301Moved Permanently網頁搬家了(永久轉址)
404Not Found找不到這個頁面
500Internal Server Error伺服器內部出錯(工程師要看 log)
503Service Unavailable伺服器忙不過來

本課重點

  • 網站運作三步驟:DNS 查詢 → 發送請求 → 收到回應
  • DNS 就是網址翻譯成 IP 的電話簿
  • HTTP 狀態碼告訴你「結果如何」——200 成功、404 找不到、500 伺服器出錯
  • 下次客戶說「網站打不開」,你可以問:是連不上(DNS/網路問題)?還是看到錯誤頁面(伺服器問題)?

AI 協作:學了這個,跟 AI 怎麼配合?

了解網站運作原理後,你可以更精確地描述問題,讓 AI 幫你分析或寫出排查步驟。

你的人類優勢:

  • 你知道客戶遇到的具體狀況(錯誤訊息、什麼時候發生、哪個頁面)
  • 你能判斷問題的嚴重程度和商業影響

可以這樣跟 AI 說:

客戶反映打開 shop.example.com 出現 503 錯誤,請幫我列出可能的原因和排查步驟,用非技術人員看得懂的方式說明。

練習題

互動示範

DEMO 1可以修改程式碼試玩
DEMO 2可以修改程式碼試玩
DEMO 3可以修改程式碼試玩

挑戰任務

Task 1

模擬 DNS 查詢:建立一個 dnsTable 物件,包含 "store.91app.com" 對應 "10.0.1.100",然後用 console.log 印出 "store.91app.com 的 IP 是 10.0.1.100"。

Task 2

模擬 HTTP 狀態碼判斷:宣告 statusCode = 404,用 if/else if/else 判斷——200 印出 "成功",404 印出 "找不到頁面",其他印出 "未知錯誤"。

Task 3

模擬伺服器回應:建立 response 物件包含 status: 200 和 product: "限量聯名款球鞋",如果 status 為 200,用 console.log 印出 "商品名稱:限量聯名款球鞋"。

Next Lesson →