テキストをHeader-Case(トレインケース)に変換する
テキストをHeader-Case(Train-Caseとも呼ばれる、各単語が大文字でハイフン区切り)に変換する方法を学びます。HTTPヘッダーや技術的な命名での使用を解説します。
Writing Cases
詳細な説明
テキストをHeader-Caseに変換する
Header-Case(Train-Caseとも呼ばれる)はすべての単語の最初の文字を大文字にし、ハイフンで単語を区切ります。PascalCaseの大文字化とkebab-caseの区切り文字を組み合わせたものです。
基本的な変換
入力: content type
出力: Content-Type
入力: x forwarded for
出力: X-Forwarded-For
入力: accept_encoding
出力: Accept-Encoding
Header-Caseが使用される場所
HTTPヘッダー
Header-Caseの最も顕著な用途はHTTPヘッダーです:
Content-Type: application/json
Accept-Encoding: gzip, deflate
X-Forwarded-For: 192.168.1.1
Cache-Control: no-cache
Authorization: Bearer eyJhbGci...
Access-Control-Allow-Origin: *
HTTP/2はすべてのヘッダーを小文字にしますが、従来のHTTP/1.1の慣例はHeader-Caseを使用します。
設定キー
一部の設定形式ではHeader-Caseを使用します:
Content-Security-Policy: "default-src 'self'"
X-Frame-Options: DENY
Strict-Transport-Security: "max-age=31536000"
変換アルゴリズム
- 入力をスペース、アンダースコア、ハイフン、またはケース遷移で単語に分割。
- 各単語の最初の文字を大文字にする。
- 各単語の残りの文字を小文字にする。
- ハイフン(
-)で結合。
Header-Case vs. kebab-case
Header-Case: Content-Type
kebab-case: content-type
違いは大文字化です:Header-Caseは各単語を大文字にし、kebab-caseはすべて小文字にします。
HTTP/2の考慮事項
HTTP/2は小文字のヘッダー名(content-type)を義務付けており、Header-Caseは技術的にHTTPヘッダーのレガシー形式です。しかし、ドキュメントでヘッダーを参照する従来の方法としてHeader-Caseが残り、多くのHTTPライブラリは可読性のためにHeader-Caseでヘッダーを表示します。
エッジケース
- 単一単語:
"accept"→"Accept"。 - 頭字語:
"DNS"→"Dns"(既知の頭字語を保持する例外リストがない限り)。 - 数字:
"x-custom-header-2"→"X-Custom-Header-2"。 - 既にHeader-Case: そのまま通過します。
ユースケース
Header-CaseはHTTPヘッダーの構築やドキュメント化、リバースプロキシルールの設定、ヘッダー名を参照するAPIドキュメントの作成、Webサーバー(Nginx、Apache)の設定ファイルの生成に使用されます。技術システムで人間が読みやすいハイフン区切りの識別子を作成するのにも便利です。