TRACE
Metodo HTTP
Specifica del metodo HTTP TRACE
Il metodo TRACE richiede un loop-back remoto, a livello di applicazione, del messaggio di richiesta. Il destinatario finale della richiesta DOVREBBE riportare al client il messaggio ricevuto, esclusi alcuni campi descritti di seguito, come corpo del messaggio di una risposta 200 (OK) con un Content-Type di "message/http" (Sezione 8.3.1 di [RFC7230]). Il destinatario finale è il server di origine o il primo server che ha ricevuto un valore di Max-Forwards pari a zero (0) nella richiesta (Sezione 5.1.2). Un client NON DEVE generare campi di intestazione in una richiesta TRACE contenenti dati sensibili che potrebbero essere rivelati dalla risposta. Ad esempio, sarebbe insensato per un interprete inviare credenziali utente memorizzate [RFC7235] o cookie [RFC6265] in una richiesta TRACE. Il destinatario finale della richiesta DOVREBBE escludere qualsiasi campo dell'intestazione della richiesta che possa contenere dati sensibili quando genera il corpo della risposta.
TRACE consente al client di vedere cosa viene ricevuto all'altro capo della catena di richieste e di utilizzare tali dati per test o informazioni diagnostiche. Il valore del campo di intestazione Via (Sezione 5.7.1 di [RFC7230]) è di particolare interesse, poiché funge da traccia della catena di richieste. L'uso del campo di intestazione Max-Forwards consente al client di limitare la lunghezza della catena di richieste, il che è utile per testare una catena di proxy che inoltrano messaggi in un ciclo infinito.
Un client NON DEVE inviare un corpo del messaggio in una richiesta TRACE.
Le risposte al metodo TRACE non sono memorizzabili nella cache.
Descrizione del metodo TRACE
Esempio per il metodo HTTP TRACE
TRACE /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
Content-Type: message/http
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache
Response body (echoed request):
TRACE /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive