HTTP-запрос TRACE

TRACE — это HTTP-метод, предназначенный для диагностики и отладки. Он позволяет клиенту увидеть, что именно получает сервер, «отражая» запрос обратно.

Как это работает

Клиент отправляет запрос TRACE /path HTTP/1.1. Сервер не обрабатывает запрос как обычно, а просто возвращает его обратно в теле ответа с кодом 200 OK и типом message/http. Таким образом клиент видит, что именно получил сервер, включая все заголовки, добавленные промежуточными прокси.

Пример запроса и ответа: TRACE /index.html HTTP/1.1 Host: example.com X-Custom-Header: test HTTP/1.1 200 OK Content-Type: message/http TRACE /index.html HTTP/1.1 Host: example.com X-Custom-Header: test Via: 1.1 proxy.example.com

Для чего используется

TRACE применяется для диагностики: проверить, какие заголовки добавляют или изменяют промежуточные прокси, и убедиться, что запрос доходит до сервера в нужном виде.

Почему TRACE обычно отключён

Метод несёт угрозу атаки XST (Cross-Site Tracing): вредоносный скрипт в браузере может через TRACE получить httpOnly-куки, которые недоступны JavaScript напрямую. Поэтому на большинстве продакшн-серверов TRACE намеренно отключён или возвращает 405 Method Not Allowed.

CURL и TRACE

Вот как отправить TRACE через curl: # curl -x socks5h://10.123.68.1:2068 -X TRACE -H "X-Debug: hello" https://rybolov.dp.ua <html> <head><title>405 Not Allowed</title></head> <body> <center><h1>405 Not Allowed</h1></center> <hr><center>nginx</center> </body> </html>
    где:
  • -x socks5h://10.123.68.1:2068 - использую прокси сервер, socks 5h
  • -X TRACE - собственно использовать метод TRACE
  • -H "X-Debug: hello worlds" - дополнительный заголовок
смотрите еще HTTP метод HEAD



Вы только посетили наш сайт, КОММЕНТИРОВАНИЕ будет доступно через несколько минут.
возможно у Вас отключен javascript, если включен - просто обновите страницу