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é.

El método HTTP TRACE ha sido especificado en la sección 4.3.8 del documento RFC 7231 por la Internet Engineering Task Force (IETF) y el World Wide Web Consortium (W3C).

Descripción del método TRACE

trabajo en curso

Ejemplo para el método HTTP TRACE

Request header:
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
Response header:
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