/
383.txt
107 lines (80 loc) · 4.61 KB
/
383.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
[4] [DFN[[[RFC 2774]]]] は、 [[HTTPヘッダー]]に[[名前空間]]を導入して追加機能を規定できるようにした仕組みを定義しています。提案された当時は [[HTTP]] 関係者の間で期待されていたようですが、実際にはそれほど多くは使われませんでした。しかしながら限られた領域では現在でも使われているようです。
* 仕様書
[REFS[
- [2] '''[CITE@en[RFC 2774 - An HTTP Extension Framework]]
( ([TIME[2013-11-17 02:11:24 +09:00]] 版))
<http://tools.ietf.org/html/rfc2774>'''
-- [5] [CITE@en[RFC 2774 - An HTTP Extension Framework]] ([TIME[2014-09-08 03:36:50 +09:00]] 版) <http://tools.ietf.org/html/rfc2774#section-1>
-- [9] [CITE@en[RFC 2774 - An HTTP Extension Framework]] ([TIME[2014-09-08 03:36:50 +09:00]] 版) <http://tools.ietf.org/html/rfc2774#section-5>
- [16] [CITE@en[RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content]] ([TIME[2014-09-11 18:52:09 +09:00]] 版) <https://tools.ietf.org/html/rfc7231#section-8.1.2>
]REFS]
* プロトコル
[6] [[RFC 2774]] の仕組みは既存の [[HTTP/1.0]] [[応用]]と共存できる形で拡張していますが、
[[RFC 2774]] を実装する[[応用]]は [[HTTP/1.1]] かそれ以降に基づかなければ[['''なりません''']]
[SRC[>>5]]。
[8] 次の[[ヘッダー]]があります。
[FIG(short list)[
- [CODE(HTTP)@en[[[Man:]]]]
- [CODE(HTTP)@en[[[Opt:]]]]
- [CODE(HTTP)@en[[[Ext:]]]]
- [CODE(HTTP)@en[[[C-Man:]]]]
- [CODE(HTTP)@en[[[C-Opt:]]]]
- [CODE(HTTP)@en[[[C-Ext:]]]]
]FIG]
[7] その他次の構文要素があります。
[FIG(short list)[
- [[拡張宣言]]
- [[ヘッダー接頭辞]]
- [CODE(HTTP)@en[[[M-*]]]]
- [CODE(HTTP)[[[510]]]]
]FIG]
* 要求メソッド群 [CODE(HTTP)@en[M-*]]
[10] [[要求メソッド]]の[[接頭辞]] [DFN[[CODE(HTTP)[[[M-]]]]]] は、
[RUBYB[必須要求]@en[mandatory request]] (必須の[[拡張宣言]]を含む[[要求]])
であることを表します。 [SRC[>>9]]
[11] 必須要求は[[要求メソッド]]の先頭に [CODE(HTTP)[[[M-*]]]]
をつけなければ[['''なりません''']] [SRC[>>9]]。
[12] [[鯖]]は、 (拡張の処理を除くと) [CODE(HTTP)[[[M-]]]] が付かない[[要求メソッド]]として処理しなければ[['''なりません''']] [SRC[>>9]]。
[14] [[鯖]]は、処理するべき必須の拡張が無い [CODE(HTTP)[[[M-]]]] [[要求]]を受信したら、
[CODE(HTTP)[[[510]]]] [[応答]]を返さなければ[['''なりません''']] [SRC[>>9]]。
[13] 必須の拡張を処理するのではない[[串]]は、[[転送]]時に [CODE(HTTP)@en[[[M-]]]]
を削除しては[['''なりません''']] [SRC[>>9]]。
[15] [CODE(HTTP)@en[[[M-]]]] ではじまる[[要求メソッド]]は、
[[RFC 2774]] が予約しており、他で使っては[['''なりません''']] [SRC[>>9]]。
;; [17] [[RFC 7231]] も避けることを求めています [SRC[>>16]]。
* 歴史
[1]
[CITE[HTTP Extentions patches for Mozilla]] <http://www.w3.org/2001/10/22-HttpExt-mozilla/>
[3] [CITE[CC/PP exchange protocol using HTTP Extension Framework]]
( ([TIME[2000-03-13 14:38:41 +09:00]] 版))
<http://www.w3.org/1999/06/NOTE-CCPPexchange-19990624>
[511] [CITE@en[102893 – Support HTTP Extensions (RFC 2774)]]
( ([TIME[2014-11-18 19:20:49 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=102893>
[512] [CITE[HTTP Extension Framework]]
( ([TIME[2005-01-13 19:45:30 +09:00]] 版))
<http://www.w3.org/Protocols/HTTP/ietf-http-ext/>
[513] [CITE[HTTP Extension Framework Scenarios]]
( ([TIME[1998-10-27 05:23:04 +09:00]] 版))
<http://www.w3.org/Protocols/HTTP/ietf-http-ext/Scenarios.html>
[514] [CITE[Mandatory Spec Issues List]]
( ([TIME[2014-02-25 08:09:32 +09:00]] 版))
<http://www.w3.org/Protocols/HTTP/ietf-http-ext/Issues/>
[515] [CITE[SOAP vs HTTP Extentions]]
( ([TIME[2001-09-11 06:32:05 +09:00]] 版))
<http://www.w3.org/2001/09/04-SOAP-vs-HTTPExt>
[516] [CITE[No title]]
( ([TIME[2001-09-06 01:11:22 +09:00]] 版))
<http://www.w3.org/2001/08/soap12-httpext>
[517] [CITE[HTTP Extentions patches for Apache 2]]
( ([TIME[2002-08-06 11:09:00 +09:00]] 版))
<http://www.w3.org/2001/10/22-HttpExt-apache/>
[518] [CITE[Meta-Package HTTP Extension]]
( ([TIME[2001-08-16 00:33:35 +09:00]] 版))
<http://www.w3.org/2001/07/07-MetaPackage/>
[519] [CITE@en[Implementation Behaviour — The Standard-Sitemap Protocol]]
( ([TIME[2014-11-18 19:34:20 +09:00]] 版))
<http://www.standard-sitemap.org/impl-behaviour.en.php>
[520] [CITE[CC/PP exchange protocol using HTTP Extension Framework]]
( ([TIME[2000-03-13 23:38:41 +09:00]] 版))
<http://www.w3.org/TR/NOTE-CCPPexchange>