Debugging server resources

TRACE Method

Preliminaries

This note provides supplementary information about the server's implementation of the standard HTTP TRACE method, used for troubleshooting resource requests.

The TRACE request serves as a troubleshooting method to allow software engineers to ping the server and have it respond with a payload — with MIME type message/http — containing the request headers it received.

Request/response handlers

The server's request/response cycle for TRACE requests is fulfilled using this sequence of handlers:

Request Handler Optional Configurable
1 Server Name Indication no no
2 Hosts no yes
3 IP Access yes yes
4 Resource Masks yes yes
5 Raw Path no no
6 Cookies no no
7 Forbidden yes yes
8 Cross Origin yes yes
9 RBAC yes yes
Dynamic Handler Optional Configurable
10 Router yes yes
Response Handler Optional Configurable
11 Sanitize * no no
12 Content Length no no
13 Status Codes no yes
* The sanitize handler removes any cookie values present in the orginal request headers, since they may contain sensitive data.

Status codes

TRACE requests always return status code 200.

For reference purposes, refer to IETF RFC 7231 Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content section 4.3.8 for the basic protocol expected of HTTP TRACE requests.

Debugging server resources