RFC 2295 (rfc2295) - Page 2 of 58


Transparent Content Negotiation in HTTP



Alternative Format: Original Text Document



RFC 2295            Transparent Content Negotiation           March 1998


    4.8 Feature negotiation......................................15
    4.9 Length of variant lists..................................16
    4.10 Relation with other negotiation schemes.................16

   5  Variant descriptions.......................................17
    5.1 Syntax...................................................17
    5.2 URI......................................................17
    5.3 Source-quality...........................................18
    5.4 Type, charset, language, and length......................19
    5.5 Features.................................................19
    5.6 Description..............................................19
    5.7 Extension-attribute......................................20

   6  Feature negotiation........................................20
    6.1 Feature tags.............................................20
    6.1.1 Feature tag values.....................................21
    6.2 Feature sets.............................................21
    6.3 Feature predicates.......................................22
    6.4 Features attribute.......................................24

   7  Remote variant selection algorithms........................25
    7.1 Version numbers..........................................25

   8  Content negotiation status codes and headers...............25
    8.1 506 Variant Also Negotiates..............................25
    8.2 Accept-Features..........................................26
    8.3 Alternates...............................................27
    8.4 Negotiate................................................28
    8.5 TCN......................................................30
    8.6 Variant-Vary.............................................30

   9  Cache validators...........................................31
    9.1 Variant list validators..................................31
    9.2 Structured entity tags...................................31
    9.3 Assigning entity tags to variants........................32

   10 Content negotiation responses..............................32
    10.1 List response...........................................33
    10.2 Choice response.........................................34
    10.3 Adhoc response..........................................37
    10.4 Reusing the Alternates header...........................38
    10.5 Extracting a normal response from a choice response.....39
    10.6 Elaborate Vary headers..................................39
    10.6.1 Construction of an elaborate Vary header..............40
    10.6.2 Caching of an elaborate Vary header...................41
    10.7 Adding an Expires header for HTTP/1.0 compatibility.....41
    10.8 Negotiation on content encoding.........................41




Holtman & Mutz                Experimental