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
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.
=1= |