/
149.txt
81 lines (61 loc) · 3.04 KB
/
149.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
* 仕様書
[REFS[
- [4] [CITE@en[RFC 7240 - Prefer Header for HTTP]] ([TIME[2014-07-26 04:24:01 +09:00]] 版) <https://tools.ietf.org/html/rfc7240#section-3>
]REFS]
* 意味
[5] [CODE(HTTP)@en[[[Preference-Applied:]]]] [[ヘッダー]]は、
[[鯖]]が従って[[要求]]の処理に適応させた[[好み字句]]を示すものです [SRC[>>4]]。
;; [16] [CODE(HTTP)@en[[[Prefer:]]]] が明示されていない時に[[鯖]]が自身の動作を示すために使用することもできそうですが、そうしても良いとは (悪いとも) されていません。
* 構文
[7] [CODE(HTTP)@en[[[Preference-Applied:]]]] の値は1つ以上の値の[[リスト]]
([CODE(HTTP)[#]]) です [SRC[>>4]]。
[FIG(railroad)[
= 値
= *
== [[OWS]]
== [CODE(HTTP)[[[,]]]]
== [[OWS]]
== 値
]FIG]
[8] それぞれの値は[[字句]]か、[[字句]]と値を [CODE(HTTP)[[[=]]]] でつなげたものです
[SRC[>>4]]。
[FIG(railroad)[
= [[字句]]
= ?
== [CODE(HTTP)[[[=]]]]
== |
=== [[字句]]
=== [[引用文字列]]
]FIG]
[11] [CODE(HTTP)[[[=]]]] の前後には [CODE(ABNF)@en[[[BWS]]]] があります [SRC[>>4]]。
;; [12] [CODE(HTTP)@en[[[Prefer:]]]] とは違って[[引数]]は認められていません。
[9] 値は[[字句]]または[[引用文字列]]です。
;; [10] 仕様上は [CODE(ABNF)@en[[[word]]]] とされています [SRC[>>4]] が、この
[CODE(ABNF)@en[[[word]]]] は定義されていません。
[15] この値は [CODE(HTTP)@en[[[Prefer:]]]] における[[好み字句]]に対する値と同じ意味を持ち、
そちらで値を指定できる場合 (そして [CODE(HTTP)@en[[[Prefer:]]]]
で指定された場合) のみ指定できるものと思われますが、仕様上明記はされていません。
* 文脈
[6] この[[ヘッダー]]は[[応答]]で使うことができます [SRC[>>4]]。
[13] [CODE(HTTP)@en[[[Preference-Applied:]]]] を使う必要があるのは、
適用したことが自明ではなく、自明ではないと[[クライアント]]の処理に影響を与えかねない場合のみです
[SRC[>>4]]。
[EG[
[14] 例えば [CODE(HTTP)@en[[[Prefer:]] [[return]]=[[representation]]]]
と [CODE(HTTP)@en[[[Prefer:]] [[return]]=[[minimal]]]]
は適用されたかどうか[[クライアント]]が決定する信頼できる方法がありませんから、
[CODE(HTTP)@en[[[Preference-Applied:]] [[return]]=[[minimal]]]]
のように指定することができます。 [SRC[>>4]]
]EG]
* 歴史
[REFS[
- [1] [CITE[OData Version 4.0 Part 1: Protocol]]
( ([TIME[2013-08-14 16:00:00 +09:00]] 版))
<http://docs.oasis-open.org/odata/odata/v4.0/cs01/part1-protocol/odata-v4.0-cs01-part1-protocol.html>
- [2] [CITE@en[draft-snell-http-prefer-18 - Prefer Header for HTTP]]
( ([TIME[2013-10-27 07:56:15 +09:00]] 版))
<http://tools.ietf.org/html/draft-snell-http-prefer-18>
- [3] [CITE@en[draft-snell-http-prefer-18 - Prefer Header for HTTP]]
( ([TIME[2014-02-02 11:01:34 +09:00]] 版))
<http://tools.ietf.org/html/draft-snell-http-prefer-18>
]REFS]