TRACE
Метод HTTP
Спецификация HTTP-метода TRACE
Метод TRACE запрашивает удаленный обратный цикл сообщения запроса на уровне приложения. Конечный получатель запроса ДОЛЖЕН отразить полученное сообщение, исключая некоторые поля, описанные ниже, обратно клиенту в качестве тела сообщения ответа 200 (OK) с Content-Type "message/http" (раздел 8.3.1 из [RFC7230]). Конечным получателем является либо исходный сервер, либо первый сервер, получивший в запросе значение Max-Forwards, равное нулю (0) (Раздел 5.1.2). Клиент НЕ ДОЛЖЕН генерировать поля заголовков в запросе TRACE, содержащие конфиденциальные данные, которые могут быть раскрыты в ответе. Например, было бы глупо, если бы агент пользователя отправлял сохраненные учетные данные пользователя [RFC7235] или cookies [RFC6265] в запросе TRACE. Конечный получатель запроса ДОЛЖЕН исключить все поля заголовка запроса, которые могут содержать конфиденциальные данные, когда он формирует тело ответа.
TRACE позволяет клиенту видеть, что получено на другом конце цепочки запросов, и использовать эти данные для тестирования или диагностики. Значение поля заголовка Via (раздел 5.7.1 в [RFC7230]) представляет особый интерес, поскольку оно служит для отслеживания цепочки запросов. Использование поля заголовка Max-Forwards позволяет клиенту ограничить длину цепочки запросов, что полезно для тестирования цепочки прокси-серверов, пересылающих сообщения в бесконечном цикле.
Клиент НЕ ДОЛЖЕН отправлять тело сообщения в запросе TRACE.
Ответы на метод TRACE не кэшируются.
.Описание метода TRACE
Пример для 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