The TRACE method is used to invoke a remote, application-layer
loop- back of the request message. The final recipient of the
request SHOULD reflect the message received back to the client as
the entity-body of a 200 (OK) response. The final recipient is
either the
origin server or the first proxy or gateway to receive a
Max-Forwards value of zero (0) in the request (see section 14.31).
A TRACE request MUST NOT include an entity.
TRACE allows the client to see what is being received at the
other end of the request chain and use that data for testing or
diagnostic information. The value of the Via header field (section
14.45) is of particular interest, since it acts as a trace of the
request chain. Use of the Max-Forwards header field allows the
client to limit the length of the request chain, which is useful
for testing a chain of proxies forwarding messages in an infinite
loop.
If the request is valid, the response SHOULD contain the entire
request message in the entity-body, with a Content-Type of
"message/http". Responses to this method MUST NOT be cached.