-
Notifications
You must be signed in to change notification settings - Fork 0
MS_HTTPHeader
-
TOP > インフラストラクチャ > HTTP
- HTTPヘッダ
- HTTPボディ
HTTPヘッダには、いろいろある。
- 一般ヘッダ
リクエストとレスポンスの両方に適用される、本文で転送されるデータとの関係はないヘッダ。 - リクエスト・ヘッダ
読み込むリソースやクライアント自身に関する詳細な情報を持つヘッダ。 - レスポンス・ヘッダ
レスポンスに関する追加情報(場所など)や、サーバ自身に関する追加情報(名前やバージョンなど)を持つヘッダ。 - エンティティ・ヘッダ
コンテンツの長さや MIME タイプなど、エンティティの本体に関する詳細情報を持つヘッダ。
補足(最新化): この 4 分類は RFC 2616(HTTP/1.1 旧版)の区分。 現行の RFC 9110 では「表現ヘッダ / コンテンツ ヘッダ / 要求ヘッダ / 応答ヘッダ」という 整理に改められており、「エンティティ・ヘッダ」という語は使われなくなっている。
- メッセージの最終的な宛先に伝送するヘッダ
- 中間のプロキシはヘッダを
- 変更せずに再伝送する。
- キャッシュに保存する。
トランスポート層の接続にのみ意味を持つヘッダ。
- Connection
- Keep-Alive
- Proxy-Authenticate
- Proxy-Authorization
- TE
- Trailer
- Transfer-Encoding
- Upgrade
補足: ホップバイホップ ヘッダは、HTTP/2 以降では そもそも送ってはいけない(
Connectionなどは接続固有ヘッダとして禁止)。 HTTP/2 では:method:scheme:authority:path:statusの 疑似ヘッダが導入され、ヘッダ名は小文字が必須になっている。
主なヘッダには★を付与
- 認証方法
- WWW-Authenticate
- Proxy-Authenticate
- 認証情報
- Authorization ★
- Proxy-Authorization
キャッシュ・コントロールのHTTPヘッダにページ分割。
Cookieにページ分割。
- Expect-CT
- Feature-Policy
- Upgrade-Insecure-Requests
- X-Download-Options
- X-Powered-By
-
セキュリティ強化のHTTPヘッダにページ分割。
- 主要なヘッダ
- X-XSS-Protection
- X-Frame-Options / Frame-Options
- X-Content-Type-Options
- 追加されたヘッダ
- Content-Security-Policy (CSP)
- Content-Security-Policy-Report-Only
- Strict-Transport-Security (HSTS)
- Public-Key-Pins (HPKP)
- Public-Key-Pins-Report-Only
- 主要なヘッダ
補足(最新化): 上記のうち、
- X-XSS-Protection は主要ブラウザで削除済み(CSP を使う)。
- HPKP(Public-Key-Pins)は運用事故のリスクが高く廃止済み。代替は Certificate Transparency。
- Expect-CT も CT がデフォルト必須化されたため廃止。
- Feature-Policy は Permissions-Policy に改称。
現在有効な主要セキュリティ ヘッダは CSP / HSTS / X-Content-Type-Options / X-Frame-Options(または CSP の frame-ancestors)/ Referrer-Policy / Permissions-Policy / Cross-Origin-*-Policy。
クロス ドメイン接続にページ分割。
- Content-Length
- Content-Type ★ — リソースのメディアタイプを示す。
- Content-Encoding
- Content-Language
- Content-Location
- From
- Host
- Referer ★ — リンク元ページのアドレス。
- Referrer-Policy
- User-Agent ★ — リクエストを行うユーザーエージェントソフトウェアのアプリケーション情報
(タイプ、オペレーティングシステム、ベンダー、バージョン)
※ Referer はヘッダ名の綴りが誤ったまま標準化された(正しい英語は referrer)。
一方 Referrer-Policy は正しい綴り。混同しやすいので注意。
- Allow
- Server ★ — WWWサーバが使用するソフトウェアの情報
※ Server は実装とバージョンを露出するため、
運用では値を削るか匿名化するのが一般的(X-Powered-By も同様)。
- Connection
- Keep-Alive
- Forwarded
- X-Forwarded-For ★ — プロキシ経由時の接続元 IP アドレス
- X-Forwarded-Host
- X-Forwarded-Proto
- Via
※ X-Forwarded-* は事実上の標準で、RFC 7239 で標準化されたのは Forwarded。
いずれもクライアントが偽装できるため、信頼できるプロキシが付与した値のみを採用する。
- HTTP ヘッダー - MDN
- RFC 9110 - HTTP Semantics
- キャッシュ・コントロールのHTTPヘッダ
- セキュリティ強化のHTTPヘッダ
- CORS (Cross-Origin Resource Sharing)
- SameSite属性の件
Tags: IT国際標準, 通信技術
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。