[8] 実現値操作 (instance manipulation) は、実現値に対する種々の操作を表します。
[4] 実現値操作は、1つ以上の実現値に対する操作であって、 結果としてある実現値が部分部分で、あるいは複数の応答として鯖からクライアントへと伝搬されることとなるであろうものをいいます >>3, >>42。
[27] 具体的には、差分符号化、圧縮、範囲選択が含まれています。
[35] 差分符号化は、2入力の実現値操作です。 圧縮や範囲選択は、1入力の実現値操作です。 >>36
[21] 実現値操作は、名前と0個以上の引数 >>16 によって識別できます。 引数の前には ; が必要です >>16。
;
[24] 実現値操作の名前は、字句です >>16。 大文字・小文字不区別と思われます。
[28] 引数は、名前か、名前と = と値のいずれかです >>16。
=
[29] 引数の名前は、字句です >>16。 大文字・小文字不区別と思われます。
[30] 引数の値は字句または引用文字列です >>16。
[31] 引数の名前は、q値と区別するため、 q であってはなりません >>16。
q
[2] 実現値操作の指定の構文は、 IM: ヘッダーや A-IM: ヘッダーで使います。
IM:
A-IM:
[11] 範囲を選択してから差分を得たいこととと差分の範囲を得たいこと、 あるいは差分を圧縮したいことや圧縮状態の差分を得たいことがあるなど、 各種操作の適用順序は状況に依存することから、 A-IM:/IM: ヘッダーによって操作の適用順序を記述できます >>9。
[34] 範囲 (range) の後に他の実現値操作を適用することも認められています。 multipart/byteranges で複数に分かれた後に適用される可能性もあります。
range
multipart/byteranges
[38] 適用する実現値操作の決定については、 A-IM: を参照。
[37] キャッシュにおける処理については、226 を参照。
226
[39] 個々の実現値操作の処理については、差分符号化を参照。
[13] 次の実現値操作の名前があります。vcdiffdiffegdiffgzipdeflaterangeidentityfeedf-rangeitemschannel
vcdiff
diffe
gdiff
gzip
deflate
identity
feed
f-range
items
channel
[19] IANA登録簿 >>17 があります >>16。
[15] 名前に「diff」が入った3つは特に差分符号化と呼ばれています >>16。
[5] RFC 3229 (差分符号化) 用語定義より抜粋
instance manipulation An operation on one or more instances which may result in an instance being conveyed from server to client in parts, or in more than one response message. For example, a range selection or a delta encoding. Instance manipulations are end-to-end, and often involve the use of a cache at the client.
For reasons that will become clear later on, it is convenient to think about subrange selection as a form of instance manipulation. In some contexts, compression might also be treated as an instance manipulation, rather than as a content-coding or transfer-coding.
後々明らかになってくる理由から、部分範囲選択を実現値操作の一形式と考えると便利です。 文脈によっては、圧縮もまた内容符号化や転送符号化ではなく実現値操作として扱われるかもしれません。
[7] RFC 3229 (差分符号化) 10.1 Protocol parameter specifications
This specification defines a new HTTP parameter type, an instance-manipulation:
この仕様書は新しい HTTP 引数型 instance-manipulation を定義します。
instance-manipulation
instance-manipulation = token [imparams]imparams = ";" imparam-name [ "=" ( token | quoted-string ) ]imparam-name = token
Note that the imparam-name MUST NOT be "q", to avoid ambiguity with the use of qvalues (see [10]).
imparam-name は qvalue の使用時の曖昧性を避けるために q であってはならないことに注意して下さい。
imparam-name
qvalue
The set of instance-manipulation values is initially:- vcdiff A delta using the "vcdiff" encoding format [19, 20].- diffe The output of the UNIX "diff -e" command [26].- gdiff The GDIFF encoding format [14].- gzip Same definition as the HTTP "gzip" content-coding.- deflate Same definition as the HTTP "deflate" content-coding.- range A token indicating that the result is partial content, as the result of a range selection.- identity A token used only in the A-IM header (not in the IM header), to indicate whether or not the identity instance-manipulation is acceptable.
The set of instance-manipulation values is initially:
最初の実現値操作の集合は:
A-IM
IM
For convenience in the rest of this specification, we define a subset of instance-manipulation values as delta-coding values:
この仕様書の後の部分での便宜のために、実現値操作の部分集合を delta-coding (差分符号化) 値として定義します。
delta-coding
delta-coding = "vcdiff" | "diffe" | "gdiff" | token
Future instance-manipulation values might also be included in this list.
将来の実現値操作値もこの並びに含められるかもしれません。
[6] RFC 3229 (差分符号化) 10.2 IANA Considerations
The Internet Assigned Numbers Authority (IANA) administers the name space for instance-manipulation values. Values and their meaning must be documented in an RFC or other peer-reviewed, permanent, and readily available reference, in sufficient detail so that interoperability between independent implementations is possible. Subject to these constraints, name assignments are First Come, First Served (see RFC 2434 [25]).
インターネット割当て番号事務局 (IANA) は実現値操作値の名前空間を管理します。 値とその意味は、 RFC または他のよく評価された、持続的で、 既に入手可能な参照物で、独立な実装が相互運用可能である程度十分詳細に文書化されていなければなりません。 この制約の元、名前割り当ては先来先給とします (RFC 2434 を参照)。
This specification also inserts a new value in the IANA HTTP Status Code Registry (see RFC 2817 [18]). See section 10.4.1 for the specification of this code.
この仕様書は IANA HTTP 状態符号登録簿 (RFC 2817 参照) にも新しい値を挿入します。この符号の仕様は10.4.1節を参照。
[32] Re: RFC3229 w/ feeds [was: Paging, Feed History, etc.] ( (2006-06-09 20:12:53 +09:00 版)) <http://www.imc.org/atom-syntax/mail-archive/msg18576.html>
[33] Does an implementation of RFC 3229 (Delta encoding for HTTP) exist? - Stack Overflow ( (2014-11-20 01:39:50 +09:00 版)) <http://stackoverflow.com/questions/3264457/does-an-implementation-of-rfc-3229-delta-encoding-for-http-exist>
[40] DUL は実現値操作として使われることも想定していました >>41。
[44] いずれも結局ほとんど使われませんでした。