#?SuikaWiki/0.9 page-icon="HTTP" [[#comment]] * 仕様書から **RFC 2295 (HTTP 透過内容折衝) 8.2 Accept-Features > The Accept-Features request header can be used by a user agent to give information about the presence or absence of certain features in the feature set of the current request. Servers can use this information when running a remote variant selection algorithm. [CODE(HTTP)[Accept-Features]] 要求頭は、 [[利用者エージェント]]が現在の[[要求]]の[[特注集合]]中のある[[特徴]]があるかないかについての情報を与えるために使うことが出来ます。 [[サーバー]]は、[[遠隔変種選択算法]]を動作させる時にこの情報を使うことが出来ます。 > Note: the name `Accept-Features' for this header was chosen because of symmetry considerations with other Accept- headers, even though the Accept-Features header will generally not contain an exhaustive list of features which are somehow `accepted'. A more accurate name of this header would have been `Feature-Set-Info'. 注意 : [CODE(HTTP)[Accept-Features]] というこの頭の名前は、 他の[[Accept‐頭]]との整合性のために選ばれましたが、 [CODE(HTTP)[Accept-Features]] 頭は通常はともかく「受け入れる」 特徴の完璧な目録を含みはしません。 この頭のもっと正確な名前は [CODE(HTTP)[Feature-Set-Info]] 辺りだったでしょう。 > [PRE[ Accept-Features = "Accept-Features" ":" #( feature-expr *( ";" feature-extension ) ) feature-expr = [ "!" ] ftag | ftag ( "=" | "!=" ) tag-value | ftag "=" "{" tag-value "}" | "*" feature-extension = token [ "=" ( token | quoted-string ) ] ]PRE] > No feature extensions are defined in this specification. An example is: [PRE[ Accept-Features: blex, !blebber, colordepth={5}, !screenwidth, paper = A4, paper!="A2", x-version=104, * ]PRE] > The different feature expressions have the following meaning: : ftag : ftag is present : !ftag : ftag is absent : ftag=V : ftag is present with the value V : ftag!=V : ftag is present, but not with the value V : ftag={V} : ftag is present with the value V, and not with any other values : * : the expressions in this header do not fully describe the feature set: feature tags not mentioned in this header may also be present, and, except for the case ftag={V}, tags may be present with more values than mentioned. 各特徴式は次の意味を持ちます。 : [CODE(conneg)[ftag]] : [VAR[ftag]] がある : [CODE(conneg)[!ftag]] : [VAR[ftag]] がない : [CODE(conneg)[ftag=V]] : [VAR[ftag]] は値 [VAR[V]] と共にある : [CODE(conneg)[ftag!=V]] : [VAR[ftag]] はあるが値 [VAR[V]] と共にはない : [CODE(conneg)[ftag={V}]] : [VAR[ftag]] は値 [VAR[V]] と共にあり、他のいかなる値とも共にはない : [CODE(conneg)[*]] : この頭の式は[[特徴集合]]を完全に記述していない。 この頭に示されていない[[特徴札]]はあるかもしれないし、 [CODE(conneg)[ftag={V}]] の場合を除き、示されている値以外もあるかもしれない。 > Absence of the Accept-Features header in a request is equivalent to the inclusion of - [SAMP(HTTP)[Accept-Features: *]] > By using the Accept-Features header, a remote variant selection algorithm can sometimes determine the truth value of a feature predicate on behalf of the user agent. For example, with the header [PRE[ Accept-Features: blex, !blebber, colordepth={5}, !screenwidth, paper = A4, paper!="A2", x-version=104, * ]PRE] the algorithm can determine that the following predicates are true: [PRE[ blex, colordepth=[4-], colordepth!=6, colordepth, !screenwidth, paper=A4, colordepth=[4-6] ]PRE] and that the following predicates are false: [PRE[ !blex, blebber, colordepth=6, colordepth=foo, !colordepth, screenwidth, screenwidth=640, screenwidth!=640, ]PRE] but the truth value of the following predicates cannot be determined: [PRE[ UA-media=stationary, UA-media!=screen, paper!=a0, x-version=[100-300], x-version=[200-300], x-version=99, UA-media=screen, paper=A0, paper=a4, x-version=[100-199], wuxta ]PRE] ** RFC の部分の License [[RFCのライセンス]] * メモ