TRACE

Metoda HTTP

Specyfikacja metody HTTP TRACE

Metoda TRACE żąda zdalnej, na poziomie aplikacji, pętli zwrotnej komunikatu żądania. Ostateczny odbiorca żądania POWINIEN odzwierciedlić otrzymany komunikat, z wyłączeniem niektórych pól opisanych poniżej, z powrotem do klienta jako treść komunikatu odpowiedzi 200 (OK) z typem zawartości "message/http" (sekcja 8.3.1 [RFC7230]). Ostatecznym odbiorcą jest albo serwer pochodzenia, albo pierwszy serwer, który otrzymał wartość Max-Forwards równą zero (0) w żądaniu (sekcja 5.1.2). Klient NIE MOŻE generować pól nagłówka w żądaniu TRACE zawierających poufne dane, które mogą zostać ujawnione w odpowiedzi. Na przykład, byłoby nierozsądne, gdyby agent użytkownika wysyłał przechowywane dane uwierzytelniające użytkownika [RFC7235] lub pliki cookie [RFC6265] w żądaniu TRACE. Ostateczny odbiorca żądania POWINIEN wykluczyć wszelkie pola nagłówka żądania, które mogą zawierać poufne dane, gdy ten odbiorca generuje treść odpowiedzi.

TRACE pozwala klientowi zobaczyć, co jest odbierane na drugim końcu łańcucha żądań i wykorzystać te dane do testowania lub informacji diagnostycznych. Wartość pola nagłówka Via (sekcja 5.7.1 [RFC7230]) jest szczególnie interesująca, ponieważ działa jako ślad łańcucha żądań. Użycie pola nagłówka Max-Forwards pozwala klientowi ograniczyć długość łańcucha żądań, co jest przydatne do testowania łańcucha serwerów proxy przekazujących wiadomości w nieskończonej pętli.

Klient NIE MOŻE wysyłać treści wiadomości w żądaniu TRACE.

Odpowiedzi na metodę TRACE nie są buforowane.

Metoda HTTP TRACE została określona w sekcji 4.3.8 dokumentu RFC 7231 przez Internet Engineering Task Force (IETF) i World Wide Web Consortium (W3C).

Opis metody TRACE

prace w toku

Przykład dla metody 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