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