HTTP Remote Variant Selection Algorithm -- RVSA/1.0
RFC 2296

Document Type RFC - Experimental (March 1998; Errata)
Last updated 2015-11-20
Stream IETF
Formats plain text pdf html bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 2296 (Experimental)
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                         K. Holtman
Request for Comments: 2296                                           TUE
Category: Experimental                                           A. Mutz
                                                         Hewlett-Packard
                                                              March 1998

          HTTP Remote Variant Selection Algorithm -- RVSA/1.0

Status of this Memo

   This memo defines an Experimental Protocol for the Internet
   community.  It does not specify an Internet standard of any kind.
   Discussion and suggestions for improvement are requested.
   Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (1998).  All Rights Reserved.

ABSTRACT

   HTTP allows web site authors to put multiple versions of the same
   information under a single URL.  Transparent content negotiation is a
   mechanism for automatically selecting the best version when the URL
   is accessed.  A remote variant selection algorithm can be used to
   speed up the transparent negotiation process. This document defines
   the remote variant selection algorithm with the version number 1.0.

TABLE OF CONTENTS

   1  Introduction...............................................2
   2  Terminology and notation...................................2
   3  The remote variant selection algorithm.....................2
    3.1 Input....................................................2
    3.2 Output...................................................3
    3.3 Computing overall quality values.........................3
    3.4 Definite and speculative quality values..................5
    3.5 Determining the result...................................6
   4  Use of the algorithm.......................................7
    4.1 Using quality factors to rank preferences................7
    4.2 Construction of short requests...........................8
    4.2.1 Collapsing Accept- header elements.....................8
    4.2.2 Omitting Accept- headers...............................9
    4.2.3 Dynamically lengthening requests.......................9
    4.3 Differences between the local and the remote algorithm..10
    4.3.1 Avoiding major differences............................11
    4.3.2 Working around minor differences......................11

Holtman & Mutz                Experimental                      [Page 1]
RFC 2296                     HTTP RVSA/1.0                    March 1998

   5  Security and privacy considerations.......................11
   6  Acknowledgments...........................................12
   7  References................................................12
   8  Authors' Addresses........................................12
   9  Full Copyright Statement..................................13

1  Introduction

   HTTP allows web site authors to put multiple versions (variants) of
   the same information under a single URL.  Transparent content
   negotiation [2] is a mechanism for automatically selecting the best
   variant when the URL is accessed.  A remote variant selection
   algorithm can be used by a HTTP server to choose a best variant on
   behalf of a negotiating user agent.  The use of a remote algorithm
   can speed up the transparent negotiation process by eliminating a
   request-response round trip.

   This document defines the remote variant selection algorithm with the
   version number 1.0.  The algorithm computes whether the Accept-
   headers in the request contain sufficient information to allow a
   choice, and if so, which variant must be chosen.

2  Terminology and notation

   This specification uses the terminology and notation of the HTTP
   transparent content negotiation specification [2].

3  The remote variant selection algorithm

   This section defines the remote variant selection algorithm with the
   version number 1.0.  To implement this definition, a server MAY run
   any algorithm which gives equal results.

     Note: According to [2], servers are always free to return a list
     response instead of running a remote algorithm.  Therefore,
     whenever a server may run a remote algorithm, it may also run a
     partial implementation of the algorithm, provided that the partial
     implementation always returns List_response when it cannot compute
     the real result.

3.1 Input

     The algorithm is always run for a particular request on a
     particular transparently negotiable resource.  It takes the
     following information as input.

    1. The variant list of the resource, as present in the Alternates
       header of the resource.

Holtman & Mutz                Experimental                      [Page 2]
RFC 2296                     HTTP RVSA/1.0                    March 1998

    2. (Partial) Information about capabilities and preferences of the
       user agent for this particular request, as given in the Accept-
       headers of the request.
Show full document text