RFC 2296 (rfc2296) - Page 2 of 13


HTTP Remote Variant Selection Algorithm -- RVSA/1



Alternative Format: Original Text Document



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