W3C home > Mailing lists > Public > ietf-http-wg-old@w3.org > May to August 1998

Comments on section 9.8, TRACE

From: Arthur P. Goldberg <artg@cs.nyu.edu>
Date: Sat, 23 May 1998 04:06:04 +0100 (BST)
Message-Id: <35663CD0.B0E08CBF@cs.nyu.edu>
To: http-wg@cuckoo.hpl.hp.com
Cc: Louis Discepola <disc7701@sparky.cs.nyu.edu>, Catalin Floristean <floriste@slinky.cs.nyu.edu>
X-Mailing-List: <http-wg@cuckoo.hpl.hp.com> archive/latest/141
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 

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
Received on Wednesday, 27 May 1998 07:33:20 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:40:22 UTC