Блог перформанс-інженера Костянтина Шейдаєва
httpstat - візуалізація статистики HTTP-запитів для богатих
Mar 23, 2025> Що таке httpstat?
Не потрібен опис, достатньо однієї картинки:

Але, кілька слів я таки скажу:
- Я його використовую, щоб швидко зрозуміти на якому етапі HTTP-запиту ми втрачаємо час.
- Його завдання – спрямувати тебе в потрібному напрямку і зробити цей процес максимально простим, наочним і прозорим.
> Встановлення
Основні способи встановлення httpstat:
- Пряме завантаження скрипту:
wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py - Через pip:
pip install httpstat - Через homebrew (тільки для macOS):
brew install httpstat - Для користувачів Windows рекомендується не бути користувачами Windows.
> Налаштування
Інструмент підтримує багато змінних середовища для контролю своєї поведінки:
HTTPSTAT_SHOW_BODY- показувати тіло відповіді (обмежено 1023 байтами)HTTPSTAT_SHOW_IP- показувати віддалену та локальну IP/порт адресуHTTPSTAT_SHOW_SPEED- відображати швидкість завантаження та вивантаженняHTTPSTAT_SAVE_BODY- зберігати тіло відповіді у тимчасовому файліHTTPSTAT_CURL_BIN- вказати шлях до бінарного файлу curlHTTPSTAT_METRICS_ONLY- виводити лише метрики у форматі JSONHTTPSTAT_DEBUG- режим відлагодження
Особисто я використовую лише дві:
HTTPSTAT_SHOW_SPEED=trueHTTPSTAT_SAVE_BODY=false
> Використання
Оскільки httpstat є обгорткою для curl, ви можете передавати будь-які підтримувані curl-опції після URL.

GET запити:
- Базовий GET:
httpstat httpbin.org/get - GET з параметрами в URL:
httpstat "httpbin.org/get?param1=value1¶m2=value2" - GET з користувацькими заголовками:
httpstat httpbin.org/get -H "User-Agent: MyCustomAgent" -H "Accept: application/json" - GET з аутентифікацією:
httpstat httpbin.org/basic-auth/user/pass -u user:pass - GET з відображенням швидкості передачі:
HTTPSTAT_SHOW_SPEED=true httpstat http://cachefly.cachefly.net/10mb.test - GET з відображенням тіла відповіді:
HTTPSTAT_SHOW_BODY=true httpstat httpbin.org/json - GET запит з увімкненим детальним режимом:
httpstat httpbin.org/get -v
POST запити:
- Базовий POST з даними форми:
httpstat httpbin.org/post -X POST -d "name=value&foo=bar" - POST з JSON даними:
httpstat httpbin.org/post -X POST -H "Content-Type: application/json" -d '{"key1":"value1","key2":"value2"}' - POST з URL-encoded даними:
httpstat httpbin.org/post -X POST --data-urlencode "title=Test Title" --data-urlencode "body=This is the content" - POST з файлом:
httpstat httpbin.org/post -X POST -F "file=@/path/to/file.txt" - POST з аутентифікацією:
httpstat httpbin.org/post -X POST -u username:password -d "content=test"
PUT запити:
- Базовий PUT з даними:
httpstat httpbin.org/put -X PUT -d "key=updatedvalue" - PUT запит з JSON даними:
httpstat httpbin.org/put -X PUT -H "Content-Type: application/json" -d '{"status":"updated","id":123}' - PUT запит для завантаження файлу:
httpstat httpbin.org/put -X PUT --upload-file /path/to/file.txt - PUT запит з керуванням перенаправленням:
httpstat httpbin.org/put -X PUT -L -d "content=test" - PUT запит з додатковими налаштуваннями безпеки:
httpstat httpbin.org/put -X PUT --tlsv1.2 --ciphers HIGH -d "secure_data=value"> Висновки
- інструмент крутий;
- встановити легко;
- в статті купа прикладів;
- треба використовувати, але не витрачайте на цьому етапы багато часу, зрозуміли де повільно і пірнайте глибше.