02-3. HTTP 方法(GET、POST、PUT、DELETE) ⏱️ 閱讀時間: 12 分鐘 🎯 難度: ⭐⭐ (簡單)
🎯 本篇重點 深入理解 HTTP 各種方法的用途、差異、冪等性、安全性,以及 RESTful API 設計原則。
🤔 什麼是 HTTP 方法? HTTP Method(HTTP 動詞) = 告訴伺服器你想做什麼操作
一句話解釋: HTTP 方法就像是對圖書館員說的「動詞」:借書(GET)、還書(POST)、換書(PUT)、退書(DELETE)。
📚 用圖書館操作來比喻 HTTP 方法 圖書館場景 HTTP 方法 查詢書籍資訊 GET /books/123 (只看不動) → 取得書籍資訊 借書(新增借閱記錄) POST /borrow → 建立新的借閱記錄 更新借閱資訊 PUT /borrow/456 (完整更換) → 更新整筆借閱記錄 延長借閱期限 PATCH /borrow/456 (部分修改) → 只更新到期日期 取消借閱 DELETE /borrow/456 → 刪除借閱記錄 查詢圖書館有哪些服務 OPTIONS / → 查詢支援的方法 只問書在不在 HEAD /books/123 (不拿書) → 只取得標頭,不取內容 🔍 HTTP 方法完整介紹 GET - 取得資源 用途: - 讀取資料 - 查詢資訊 - 不修改伺服器資料 特性: ✅ 安全(Safe)- 不會修改資料 ✅ 冪等(Idempotent)- 多次請求結果相同 ✅ 可快取(Cacheable) ✅ 參數在 URL 中 範例: GET /api/users/123 HTTP/1.
Yoru Karu Studio
程式設計學習筆記 | 生活心得程式設計學習筆記 | 生活心得
02-4. HTTP 狀態碼完整指南 ⏱️ 閱讀時間: 15 分鐘 🎯 難度: ⭐⭐ (簡單)
🎯 本篇重點 完整理解 HTTP 狀態碼的分類、常見狀態碼的意義、使用場景,以及如何在實際開發中正確使用。
🤔 什麼是 HTTP 狀態碼? HTTP Status Code = 伺服器告訴客戶端「請求處理結果」的代碼
一句話解釋: HTTP 狀態碼就像是餐廳服務生回應你訂餐的狀態:「好的」(200)、「找不到這道菜」(404)、「廚房壞了」(500)。
🍽️ 用餐廳點餐來比喻狀態碼 你(客戶端) → 服務生(伺服器) 【2xx - 成功】 你:我要一份牛排 服務生:好的,馬上來!(200 OK) 服務生:已為您建立訂單(201 Created) 【3xx - 重新導向】 你:我要招牌菜 服務生:招牌菜改名了,現在叫特選牛排(301 Moved Permanently) 服務生:今天招牌菜換成豬排了(302 Found) 【4xx - 客戶端錯誤】 你:我要一份恐龍肉 服務生:我們沒有這道菜(404 Not Found) 你:我要一杯酒 服務生:您未滿 18 歲,無法提供(403 Forbidden) 你:(亂吼) 服務生:聽不懂您說什麼(400 Bad Request) 【5xx - 伺服器錯誤】 你:我要一份牛排 服務生:廚房壞了(500 Internal Server Error) 服務生:廚師請假,暫停營業(503 Service Unavailable) 📊 HTTP 狀態碼分類 五大類 1xx - 資訊性回應(Informational) ├─ 請求已收到,繼續處理 └─ 較少使用 2xx - 成功(Success) ├─ 請求成功處理 └─ 最常見的是 200 OK 3xx - 重新導向(Redirection) ├─ 需要進一步操作 └─ 瀏覽器會自動處理 4xx - 客戶端錯誤(Client Error) ├─ 請求有錯誤 ├─ 客戶端的問題 └─ 最常見的是 404 Not Found 5xx - 伺服器錯誤(Server Error) ├─ 伺服器處理失敗 ├─ 伺服器的問題 └─ 最常見的是 500 Internal Server Error 1️⃣ 1xx - 資訊性回應 100 Continue 說明: - 客戶端可以繼續發送請求 - 伺服器已收到請求的初始部分 使用場景: - 上傳大檔案時 - 客戶端先發送 Expect: 100-continue 標頭 - 伺服器確認可以接收後回傳 100 範例: 【客戶端】 POST /upload HTTP/1.
02-5. HTTP Headers 詳解 ⏱️ 閱讀時間: 12 分鐘 🎯 難度: ⭐⭐ (簡單)
🎯 本篇重點 深入理解 HTTP Headers 的分類、常用 Headers 的用途、安全相關 Headers,以及如何在實際開發中正確使用。
🤔 什麼是 HTTP Headers? HTTP Headers = HTTP 請求和回應的「元資料」
一句話解釋: HTTP Headers 就像是包裹上的標籤,告訴對方關於這個包裹的重要資訊(內容類型、大小、來源、目的地等)。
📦 用快遞包裹來比喻 Headers 包裹標籤(Headers) HTTP Headers 寄件人 User-Agent(客戶端資訊) 收件人 Host(目標伺服器) 包裹內容類型 Content-Type(內容類型) 包裹重量 Content-Length(內容大小) 寄送方式 Connection(連線方式) 到期日 Expires(過期時間) 特殊處理說明 Cache-Control(快取控制) 簽名證明 Authorization(認證資訊) 📋 Headers 的分類 四大類 1. 通用標頭(General Headers) ├─ 請求和回應都可以使用 ├─ Connection ├─ Date └─ Cache-Control 2.
03-1. HTTPS 是什麼? ⏱️ 閱讀時間: 10 分鐘 🎯 難度: ⭐⭐ (簡單)
🎯 本篇重點 理解 HTTPS 的基本概念、HTTP 和 HTTPS 的差異、為什麼需要 HTTPS,以及 HTTPS 如何保護我們的資料安全。
🤔 什麼是 HTTPS? HTTPS (HTTP Secure) = 安全的 HTTP
一句話解釋: HTTPS 就像是在 HTTP 外面包了一層「防彈裝甲」,所有傳輸的資料都經過加密,別人偷看也看不懂。
HTTP = 明信片(任何人都能看到內容) HTTPS = 密封信件(只有收件人能看到內容) 📮 用寄信來比喻 HTTP vs HTTPS HTTP = 明信片 你寫一張明信片寄給朋友: 內容: 「親愛的小明, 我的銀行帳號是 123456789 密碼是 password123」 問題: ├─ 郵差可以看到內容 👁️ ├─ 郵局人員可以看到內容 👁️ ├─ 中途任何人都能看到 👁️ └─ 有人可能修改內容 ✏️ 結果: 你的帳號密碼可能被盜! HTTPS = 密封信件(加密) 你把信放進信封,用特殊的鎖封起來: 外觀: 一個密封的信封 📩 只有收件人有鑰匙 🔑 過程: 1.
03-2. SSL/TLS 加密原理 ⏱️ 閱讀時間: 15 分鐘 🎯 難度: ⭐⭐⭐ (中等)
🎯 本篇重點 深入理解 SSL/TLS 的加密原理、對稱加密與非對稱加密的差異、混合加密系統的運作方式,以及常見的加密演算法。
🤔 什麼是 SSL/TLS? SSL (Secure Sockets Layer) = 安全通訊層協定(已棄用) TLS (Transport Layer Security) = 傳輸層安全協定(現代標準)
一句話解釋: SSL/TLS 就像是在網路通訊中加上一個「密碼鎖」和「簽名」,確保只有對的人能看到內容,且內容沒被改過。
📜 SSL/TLS 的歷史演進 SSL 時代(Netscape 開發): ├─ SSL 1.0(1994)- 從未發布(有嚴重漏洞) ├─ SSL 2.0(1995)- 已棄用(2011) └─ SSL 3.0(1996)- 已棄用(2015,POODLE 漏洞) TLS 時代(IETF 標準化): ├─ TLS 1.0(1999)- 已棄用(2021) ├─ TLS 1.1(2006)- 已棄用(2021) ├─ TLS 1.2(2008)- ✅ 目前廣泛使用 └─ TLS 1.
03-3. 數位憑證與 CA ⏱️ 閱讀時間: 12 分鐘 🎯 難度: ⭐⭐ (簡單)
🎯 本篇重點 深入理解數位憑證的結構、CA(憑證機構)的角色、憑證申請流程、信任鏈的運作方式,以及如何處理憑證問題。
🤔 什麼是數位憑證? Digital Certificate(數位憑證) = 網站的「數位身份證」
一句話解釋: 數位憑證就像是身份證,證明「這個網站確實是它所聲稱的網站」,由可信任的第三方(CA)發行和簽章。
🎫 用身份證來比喻數位憑證 身份證(政府發行) 身份證內容: ├─ 姓名:張三 ├─ 生日:1990-01-01 ├─ 身份證號:A123456789 ├─ 照片:📸 └─ 發行機關:內政部 🏛️(政府簽章 ✅) 特性: - 由政府發行(可信任) - 有政府簽章(防偽造) - 過期需要更新 - 用來證明你的身份 驗證: 警察:請出示身份證 你:這是我的身份證 🎫 警察:檢查簽章...✅ 是真的 數位憑證(CA 發行) 數位憑證內容: ├─ 網域名稱:www.google.com ├─ 公鑰:[RSA 2048-bit public key] ├─ 有效期:2024-01-01 to 2025-01-01 ├─ 發行者:Google Trust Services LLC └─ CA 數位簽章:✅ 特性: - 由 CA 發行(可信任) - 有 CA 數位簽章(防偽造) - 過期需要更新 - 用來證明網站的身份 驗證: 瀏覽器:請出示憑證 網站:這是我的憑證 📜 瀏覽器:檢查 CA 簽章.