aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/content/posts/2025-03-28
diff options
context:
space:
mode:
Diffstat (limited to 'services/nuldoc/content/posts/2025-03-28')
-rw-r--r--services/nuldoc/content/posts/2025-03-28/http-1-1-send-multiple-same-headers.md (renamed from services/nuldoc/content/posts/2025-03-28/http-1-1-send-multiple-same-headers.dj)23
1 files changed, 8 insertions, 15 deletions
diff --git a/services/nuldoc/content/posts/2025-03-28/http-1-1-send-multiple-same-headers.dj b/services/nuldoc/content/posts/2025-03-28/http-1-1-send-multiple-same-headers.md
index 687ddef..d4aae45 100644
--- a/services/nuldoc/content/posts/2025-03-28/http-1-1-send-multiple-same-headers.dj
+++ b/services/nuldoc/content/posts/2025-03-28/http-1-1-send-multiple-same-headers.md
@@ -16,12 +16,11 @@ isInternal = true
date = "2025-03-28"
remark = "ブログ記事として一般公開"
---
-::: note
+:::note
この記事は、2022-08-18 に [デジタルサーカス株式会社](https://www.dgcircus.com/) の社内 Qiita Team に公開された記事をベースに、加筆修正して一般公開したものです。
:::
-{#intro}
-# はじめに
+# はじめに {#intro}
HTTP version 1.1 で同じ名前のヘッダを2回送ると、どのように解釈されるのか。仕様を確認した。
@@ -31,11 +30,9 @@ HTTP version 1.1 で同じ名前のヘッダを2回送ると、どのように
ところで、HTTP 周りの仕様を探すときはここから飛ぶと便利: <https://developer.mozilla.org/en-US/docs/Web/HTTP/Resources_and_specifications>
-{#specification}
-# 仕様
+# 仕様 {#specification}
-{#sender}
-### 送信側
+### 送信側 {#sender}
> A sender MUST NOT generate multiple header fields with the same field
> name in a message unless either the entire field value for that
@@ -46,8 +43,7 @@ HTTP version 1.1 で同じ名前のヘッダを2回送ると、どのように
送信者は、同じ field name の header field を複数生成してはならない (MUST NOT)。
ただし、header field の値がコンマ区切りのリストとして定義されているか、header field がよく知られた例外 (後述) である場合はその限りでない。
-{#recipient}
-### 受信側
+### 受信側 {#recipient}
> A recipient MAY combine multiple header fields with the same field
> name into one "field-name: field-value" pair, without changing the
@@ -63,8 +59,7 @@ HTTP version 1.1 で同じ名前のヘッダを2回送ると、どのように
したがって、同じ field name を持つ header field がどのような順序で受信されたかは、結合された値の解釈に影響する。
よって、プロキシは、メッセージを転送する際、header field の順序を変えてはならない (MUST NOT)。
-{#exception}
-### 例外ケース: Set-Cookie
+### 例外ケース: Set-Cookie {#exception}
> Note: In practice, the "Set-Cookie" header field ([[RFC6265](https://datatracker.ietf.org/doc/html/rfc6265)]) often
> appears multiple times in a response message and does not use the
@@ -81,8 +76,7 @@ HTTP version 1.1 で同じ名前のヘッダを2回送ると、どのように
おそらく、「送信側」のところで書かれている「よく知られた例外」の一つがこれだと思われる。
-{#comma-separated-list}
-### どの header field がコンマ区切りのリストなのか
+### どの header field がコンマ区切りのリストなのか {#comma-separated-list}
上記のように、同じ field name を持つ header field を複数回送れるかどうかは、その header field がコンマ区切りのリストとして定義されているかどうかで決まる。では、特定の header field がその条件を満たしているかどうか知りたいときは、何を見ればよいのか。
@@ -93,8 +87,7 @@ HTTP の仕様として定義されているような header field であれば
そうでない場合 (たとえば `X-` から始まるもの等) は、MDN や各ベンダのドキュメントを探すことになるだろう。
-{#outro}
-# まとめ
+# まとめ {#outro}
* 送信側: 基本的には複数回送れない。コンマ区切りのヘッダは例外
* 受信側: 基本的には未規定。コンマ区切りのヘッダは複数回来たらその順に結合する