TRACE
Método HTTP
Especificación del método HTTP TRACE
El método TRACE solicita un bucle de retorno remoto a nivel de aplicación del mensaje de solicitud. El destinatario final de la petición DEBERÍA reflejar el mensaje recibido, excluyendo algunos campos descritos a continuación, de vuelta al cliente como el cuerpo del mensaje de una respuesta 200 (OK) con un Content-Type de "message/http" (Sección 8.3.1 de [RFC7230]). El destinatario final es el servidor de origen o el primer servidor que recibe un valor Max-Forwards de cero (0) en la petición (Sección 5.1.2). Un cliente NO DEBE generar campos de cabecera en una petición TRACE que contengan datos sensibles que puedan ser revelados por la respuesta. Por ejemplo, sería una tontería que un agente de usuario enviara credenciales de usuario almacenadas [RFC7235] o cookies [RFC6265] en una petición TRACE. El destinatario final de la petición DEBERÍA excluir cualquier campo de cabecera de petición que pueda contener datos sensibles cuando ese destinatario genere el cuerpo de la respuesta.
TRACE permite al cliente ver lo que se está recibiendo en el otro extremo de la cadena de peticiones y utilizar esos datos para pruebas o información de diagnóstico. El valor del campo de cabecera Via (Sección 5.7.1 de [RFC7230]) es de particular interés, ya que actúa como un rastro de la cadena de peticiones. El uso del campo de cabecera Max-Forwards permite al cliente limitar la longitud de la cadena de peticiones, lo cual es útil para probar una cadena de proxies reenviando mensajes en un bucle infinito.
Un cliente NO DEBE enviar un cuerpo de mensaje en una petición TRACE.
Las respuestas al método TRACE no son almacenables en caché.
Descripción del método TRACE
Ejemplo para el método 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