- From: David W. Morris <dwm@xpasc.com>
- Date: Tue, 16 Sep 1997 16:30:40 -0700 (PDT)
- To: Yaron Goland <yarong@microsoft.com>
- Cc: "'rlgray@raleigh.ibm.com'" <rlgray@raleigh.ibm.com>, HTTP Working Group <http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com>, http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
Am I missing something key here ... I interepreted Vary:CRLF as shorthand
meaning that the Vary: field was empty ... I didn't interpret CRLF as
a value but rather the normal header 'line' delimiters.
Any other interpretation would clearly break HTTP as a empty line
indicating end of headers would appear in the wrong place.
Dave Morris
On Tue, 16 Sep 1997, Yaron Goland wrote:
> Vary = "Vary" ":" ( "*" | 1#field-name )
> field-name = token
> token = 1*<any CHAR except CTLs or tspecials>
> tspecials = "(" | ")" | "<" | ">" | "@"
> | "," | ";" | ":" | "\" | <">
> | "/" | "[" | "]" | "?" | "="
> | "{" | "}" | SP | HT
> CTL = <any US-ASCII control character
> (octets 0 - 31) and DEL (127)>
> CR = <US-ASCII CR, carriage return (13)>
> LF = <US-ASCII LF, linefeed (10)>
>
> So CR is a 13 and LF is a 10, which makes them CTL, which are forbidden
> in tokens, which can not be used in a field-name, which thus can not be
> used in Vary. So it is syntactically incorrect.
>
> As for Authorization, you have already been contacted by a Microsoft
> developer who will track down the problem and fix it.
>
> Yaron
>
> > -----Original Message-----
> > From: rlgray@raleigh.ibm.com [SMTP:rlgray@raleigh.ibm.com]
> > Sent: Tuesday, September 16, 1997 10:58 AM
> > To: HTTP Working Group
> > Subject: RE: Last-Modified in chunked footer
> >
> > "Vary:CRLF" *is* a syntatically correct header.
> > We ignore "Referer:CRLF" from Lynx and "Authorization:CRLF" from MSIE
> > all the time...
> >
> > ** Reply to note from Yaron Goland <yarong@microsoft.com> Mon, 15 Sep
> > 1997 12:16:18 -0700
> > >
> > > Depending upon clients handling syntactically illegal headers in
> > order
> > > to implement a new mechanism is a guaranteed recipe for the
> > disaster.
> > >
> > > For case evidence, look at what happened with cookies.
> > >
> > > As such I believe that any ruling which requires us to violate the
> > > syntax given in RFC 2068 is a non-starter. I think we need to take
> > our
> > > lead from the 302/307 issue where a solution was produced which
> > solved
> > > the problem without punishing RFC 2068 implementers.
> > >
> > > Yaron
> > >
> > > > -----Original Message-----
> > > > From: Scott Lawrence [SMTP:lawrence@agranat.com]
> > > > Sent: Monday, September 15, 1997 9:28 AM
> > > > To: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
> > > > Subject: Re: Last-Modified in chunked footer
> > > >
> > > >
> > > > >>>>> "YG" == Yaron Goland <yarong@microsoft.com> writes:
> > > >
> > > > YG> "A header included in the message-header of a message is
> > > > overridden by
> > > > YG> headers of the same name included in a chunked transfer
> > footer.
> > > > YG> Implementers need to be aware that RFC 2068 compliant servers
> > and
> > > > YG> clients will ignore all headers but content-MD5 in a chunked
> > > > transfer
> > > > YG> footer. Thus, for example, if a Vary header is dynamically
> > > > generated, it
> > > > YG> would be reasonable to place a "Vary: *" in the message-header
> > and
> > > > then
> > > > YG> the proper Vary value in the footer. That way RFC 2068 clients
> > and
> > > > YG> servers will not cache the document improperly thinking there
> > was
> > > > no
> > > > YG> Vary header at all."
> > > >
> > > > I'm not comfortable with the idea of overriding a value in the
> > > > header; this is (as Yaron pointed out) in conflict with the
> > normal
> > > > rules for combining multiple instances of a header field.
> > However,
> > > > this is not such a problem if the header field in the message
> > header
> > > > has _no_ value. To use Yarons example, if a Vary header is to
> > be
> > > > dynamically generated, the server would place 'Vary:CRLF' in the
> > > > message header and a normal Vary header in the trailer.
> > > >
> > > > This would produce some change to the existing parsing rules,
> > but
> > > > might provide a usefull hint for many cases.
> > > >
> > > > I almost suggested this back when I had misinterpretted the
> > wording
> > > > of 2068 to mean that Content-MD5 was specifically forbidden in
> > the
> > > > trailer. I had assumed that implementors did not want to
> > perform
> > > > the MD5 calculation just in case the digest apeared in the
> > trailer
> > > > (reasonable), and thought that we could signal that the value
> > would
> > > > be in the trailer by sending an empty Content-MD5 in the header.
> > > >
> > > > --
> > > > Scott Lawrence EmWeb Embedded Server
> > > > <lawrence@agranat.com>
> > > > Agranat Systems, Inc. Engineering
> > > > http://www.agranat.com/
> > >
> > >
> >
> >
> > Richard L. Gray
> > chocolate - the One True food group
>
>
Received on Tuesday, 16 September 1997 16:35:17 UTC