TRACE

Метод HTTP

Специфікація HTTP-методу TRACE

Метод TRACE запитує віддалене, на рівні програми, відстеження повідомлення запиту. Кінцевий отримувач запиту ПОВИНЕН відобразити отримане повідомлення, за винятком деяких полів, описаних нижче, назад клієнту у вигляді тіла повідомлення 200 (OK) відповіді з типом вмісту "message/http" (Розділ 8.3.1 [RFC7230]). Кінцевим одержувачем є або сервер-відправник, або перший сервер, який отримав у запиті значення Max-Forwards, рівне нулю (0) (Розділ 5.1.2). Клієнт НЕ повинен генерувати поля заголовка в запиті TRACE, що містять конфіденційні дані, які можуть бути розкриті у відповіді. Наприклад, було б нерозумно для агента користувача надсилати збережені облікові дані користувача [RFC7235] або файли cookie [RFC6265] у запиті TRACE. Кінцевий одержувач запиту ПОВИНЕН виключити будь-які поля заголовка запиту, які можуть містити конфіденційні дані, коли він генерує тіло відповіді.

TRACE дозволяє клієнту бачити, що отримується на іншому кінці ланцюжка запитів, і використовувати ці дані для тестування або діагностичної інформації. Значення поля заголовка Via (розділ 5.7.1 [RFC7230]) представляє особливий інтерес, оскільки воно діє як трасування ланцюжка запитів. Використання поля заголовка Max-Forwards дозволяє клієнту обмежити довжину ланцюжка запитів, що корисно для тестування ланцюжка проксі-серверів, які пересилають повідомлення в нескінченному циклі.

Клієнт НЕ повинен надсилати тіло повідомлення в запиті TRACE.

Відповіді на метод TRACE не кешуються.

Метод HTTP TRACE визначено в розділі 4.3.8 документа RFC 7231 Робочої групи з розробки Інтернету (IETF) і Консорціуму всесвітньої павутини (W3C).

Опис методу TRACE

незавершене виробництво

Приклад для 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