http-api-design
  • Introduction
  • Summary
    • 簡介
    • 基礎
      • 重心分離
      • 要求使用安全連線
      • 要求以 Accept 標頭註明版本
      • 以 ETag 支援快取
      • 提供 Request-Id 以便追溯
      • 以 Range 分割資料量大的回應
    • 需求
      • 回傳適當的狀態碼
      • 情況許可時提供全部資源
      • 接受需求本體的序列化 JSON
      • 使用一致的路徑格式
      • 小寫路徑與屬性
      • 支援非 ID 的便利存取
      • 減少巢狀路徑
    • 回應
      • 提供資源的 UUID
      • 提供標準時間戳記
      • 使用 UTC 時間並以 ISO 8601 格式表達
      • 巢狀表示外來鍵關係
      • 產生結構化的錯誤訊息
      • 顯示次數限制狀態
      • 保持所有回應中的 JSON 最小化
    • 產出
      • 提供機器可讀的 JSON 大綱
      • 提供一般人可讀的文件
      • 提供執行範例
      • 描述穩定性
Powered by GitBook
On this page

Was this helpful?

  1. Summary
  2. 基礎

要求使用安全連線

無例外地要求使用 TLS 安全連線存取 API。與其費工夫探討或解釋何時該使用或不該使用 TLS,全部使用 TLS 就對了。

可以的話,拒絕任何非 TLS 需求,即不回應 HTTP 或 80 port 的需求,藉此避免不安全的資料交換。若環境不許可,則回應 403 Forbidden.

重導是不鼓勵的,因為這允許非正規的客戶端行為卻無任何好處。仰賴重導的客戶端使伺服器流量加倍,且因機敏資料已於第一次呼叫時曝光,導致 TLS 沒有意義。

Previous重心分離Next要求以 Accept 標頭註明版本

Last updated 5 years ago

Was this helpful?