curl -I — одна из самых простых и полезных команд для проверки сайта. Она не скачивает всю страницу как браузер, а просит сервер показать HTTP-заголовки.
Для диагностики этого часто достаточно, чтобы за несколько секунд увидеть код ответа, redirect, тип сервера, кеширование и другие детали.
Самая простая команда
curl -I https://example.com/
Пример результата
HTTP/2 200
content-type: text/html; charset=utf-8
cache-control: no-cache
server: nginx
Первая строка — самое важное
Например:
HTTP/2 200
или:
HTTP/2 301
или:
HTTP/2 502
Что делает -I
curl выполняет HEAD-запрос, то есть просит заголовки без обычного тела страницы.
HEAD поддерживается не везде идеально
Некоторые приложения обрабатывают HEAD иначе или вообще неправильно. Поэтому при странном результате полезно сравнить его с обычным GET.
Проверка обычным GET без вывода страницы
curl -s -o /dev/null -D - https://example.com/
Redirect
Если ответ:
HTTP/2 301
location: https://www.example.com/
сервер говорит перейти на другой адрес.
Следовать по redirect
curl -IL https://example.com/
Флаг -L разрешает переходить по Location.
Только HTTP-код
curl -s -o /dev/null -w "%{http_code}\n" \
https://example.com/
Только конечный URL
curl -Ls -o /dev/null \
-w "%{url_effective}\n" \
https://example.com/
Измерить время
curl -s -o /dev/null \
-w "connect=%{time_connect} total=%{time_total}\n" \
https://example.com/
Verbose-режим
curl -v https://example.com/
Он показывает значительно больше:
- IP;
- подключение;
- TLS;
- HTTP-запрос;
- HTTP-ответ.
Не путайте заголовки запроса и ответа
В verbose-режиме curl помечает направление данных.
Проверить конкретный IP
curl --resolve example.com:443:203.0.113.25 \
-I https://example.com/
Незаменимо при миграции.
Изменить User-Agent
curl -A "Mozilla/5.0" -I https://example.com/
Иногда сервер по-разному отвечает различным клиентам.
Добавить свой заголовок
curl -H "X-Test: 1" https://example.com/
Проверить HTTP
curl -I http://example.com/
Так удобно увидеть redirect HTTP → HTTPS.
Почему curl может работать, а браузер нет
У браузера есть:
- кеш;
- cookies;
- DoH;
- JavaScript;
- расширения;
- свои политики безопасности.
curl даёт более «чистый» технический запрос.
Почему браузер может работать, а curl нет
Сайт способен требовать cookies, JavaScript, специальные заголовки или блокировать нетипичные клиенты.
NexIP и curl
NexIP удобен, когда нужно выполнить похожую проверку из внешней точки и получить результат в понятном интерфейсе, а curl хорош непосредственно в терминале.
FAQ
curl -I скачивает страницу?
Обычно нет, он запрашивает только заголовки через HEAD.
Как увидеть redirect целиком?
curl -IL URL
Как получить только код?
curl -s -o /dev/null -w "%{http_code}\n" URL
Диагностика NexIP
Продолжите реальной проверкой
Откройте полный раздел диагностики и проверьте сайт, домен или сетевые параметры.
Читайте дальше
Материалы по теме
Что показывают HTTP-заголовки
Полное руководство по HTTP-заголовкам: request и response headers, кеш, redirects, cookies, CORS, security headers, CDN и диагностика через curl и NexIP.
ЧитатьКак проверить доступность сайта
Пошаговая диагностика недоступного сайта: домен, DNS, IP, маршрут, TCP, TLS, HTTP-коды, curl, IPv4/IPv6, CDN и проверка через NexIP.
ЧитатьHTTP-коды ответа: что означают 200, 301, 404, 500 и другие
Когда браузер открывает страницу, сервер отвечает не только HTML-кодом. Вместе с ответом он отправляет числовой HTTP-статус: 200, 301, 404, 500 и так далее. Эти три цифры часто позволяют понять проблему быстрее, чем длинное сообщение…
ЧитатьКак открывается сайт: DNS → TCP → TLS → HTTP
Когда человек вводит адрес сайта и нажимает Enter, кажется, будто браузер просто «подключился к сайту». На самом деле за доли секунды происходит целая цепочка: DNS, соединение с сервером, TLS и только потом HTTP. Если понимать эту…
Читать