- From: Roy T. Fielding <fielding@avron.ICS.UCI.EDU>
- Date: Fri, 01 Dec 1995 20:05:05 -0800
- To: Dave Kristol <dmk@allegra.att.com>
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
> I'm troubled by Logic Bags (3.11), which apparently have been added to > support the Unless header and byte ranges. My particular concern is > how to implement the relational operators, such as "gt". It seems to > me that their implementation is header-dependent. "gt" for > Last-Modified is different from "gt" for Content-Length and from "gt" > for "Content-Version". Now, it's easy to state, on a case by case > basis, what the correct behavior should be. But what should a server > do in the face of unfamiliar headers? >From Section 3.11: A field-tuple consists of a field-name (assumed to be an HTTP header field name, though not constrained to those defined by this specification) and the field-value component which is to be compared against the resource's field value. The actual method of comparison (e.g., byte equivalence, substring matching, numeric order, substructure containment, etc.) is defined by the logical definition of the operator and the type of field-value allowed for that field-name. Server implementors must use an appropriate comparison function for each type of field-value given in this specification. The default functions for unrecognized fields are numeric comparison (for values consisting of 1*DIGIT) and lexical comparison (for all others). Except for "ne", any comparison to a field not defined by the resource evaluates to false. > Example: > > I get header Foobar: 100. My bag says {gt {Foobar "AX"}}. How do I > compare them? Lexicographically? Numerically? (What base?) Lexicographically [is that a word?] I do anticipate that this might cause some problems during the immediate period of introducing a new header field for which the default comparison does not apply. There are ways to solve this [such as a protocol registry], but I did not want to add too much too soon. ...Roy T. Fielding Department of Information & Computer Science (fielding@ics.uci.edu) University of California, Irvine, CA 92717-3425 fax:+1(714)824-4056 http://www.ics.uci.edu/~fielding/
Received on Friday, 1 December 1995 20:27:08 UTC