[ADP-148] Server
概述
Server
標頭用於指示回應的伺服器軟體的名稱和版本。對 API 設計來說此處應該提供 API 名稱以及版本資訊。
指導原則
- 可(MAY)在回應中包含
Server
標頭,以提供 API 伺服器的相關資訊。 例:MY-OPENAPI/1.0.0
- 不應該(SHOULD NOT) 在生產環境中暴露過多的伺服器實際作業系統資訊,以減少潛在的安全風險。 不要使用:
Ubuntu/18.0.0
OpenAPI 規範
以下是如何在 OpenAPI 中記錄 Server 標頭的示例:
yaml
components:
headers:
Server:
description: Indicates the software used by the origin server to handle the request.
schema:
type: string
example: "MY-OPENAPI/1.0.0"
TIP
根據 ADP-767,你應該(SHOULD)使用已經定義好的共用標頭檔案或至少使用 #/components/headers
,以避免重新定義所有已知標頭。
範例
真實世界範例
- 在 Microsoft Outlook 網頁的 HTTP API 回應會看到
Server: Microsoft-HTTPAPI/2.0
。 - github 的則是:
Server: GitHub.com
。