Comments on section 9.8, TRACE
Arthur P. Goldberg (artg@cs.nyu.edu)
Sat, 23 May 1998 04:06:04 +0100 (BST)
Two of my students offer the following comments on TRACE:
From: Louis Discepola <disc7701@sparky.cs.nyu.edu>
The protocol states that "a TRACE request MUST NOT include
an entity". For someone writing a server program, this
requirement implies that the server program must check that
this condition is upheld. But after reading a line of data
from a client, there is no way for the server program to
distinguish whether it received the first line of an entity
body or the fist line of a badly formatted request line. It
cannot therefore reply with an accurate response code. I
suggest that the HTTP/1.1 specification clearly force the client
side to enforce this requirement.
From: Catalin Floristean <floriste@slinky.cs.nyu.edu>
The specification states that if the request is "successful"
it should return a 200 message containing the whole
original request as message-body but does not define
what successful means. Understandably, it should be checked
for correct syntax and semantics, but how far should the
semantic check go? Specifically, in the case where the
Request-URI is the URL of a resource and not "*", should
the origin server also make sure that the resource exists
and is readable? Since the intention is just to provide a
loop-back trace method (otherwise a HEAD request would do),
probably a syntax check and a basic semantic check (the
protocol version, presence of the Host header containing
the correct host/port in case of HTTP/1.1) should suffice
and this fact should be clearly stated.
Also, it would help if it were stated clearly that the
request headers apply to the trace response (e.g. a TRACE
request with a "TE: chunked" will have it response's
message body -- the trace -- chunked) and that a "*" URI is
allowed here (although this could be implied from other
sections).
--
Arthur P. Goldberg
Clinical Associate Professor of Computer Science
artg@cs.nyu.edu http://www.cs.nyu.edu/cs/faculty/artg
715 Broadway, Room 711, Computer Science Department
Courant Institute of Mathematical Science
New York University
New York, NY 10003-6806
212 998-3014 fax 995-4123