На серверах нашей компании из соображений безопасности наш главный системный администратор разрешает передавать только несколько методов HTTP, например (GET
, POST
, OPTIONS
, PUT
и т. д.) и HEAD
не один из них.
Я реализовал Zabbix
Мониторинг на них, чтобы проверить, правильно ли он пингует и не работает домен. Теперь я получаю весь заголовок и тело ответа и проверяю, возвращает ли он 200 OK или нет.
Проблема возникает из-за большого количества запросов в секунду и тайм-аутов. Я получаю много ложных ошибок, поэтому я не хочу тратить свою пропускную способность на выборку всего заголовка ответа и тела ответа, просто чтобы проверить, не работает ли сайт или нет, и HEAD
не разрешено я не могу сделать что-то вроде curl -I
(который отправляет HEAD
HTTP
request и получает только заголовок ответа, чтобы я мог проверить, возвращает ли он 200 OK).
Как я могу отправить GET HTTP
запрос, но только получить заголовок ответа через curl?
Если вы боитесь, что ваш сайт не сможет справиться с нагрузкой от вашего инструмента мониторинга, у вас есть более серьезные проблемы, о которых нужно беспокоиться, ИМХО ...
Но вместо получения основной (большой) индексной страницы просто создать маловероятный URL-путь с пустым файлом и используйте это для мониторинга.
Например, монитор http://www.example.com/wfujhtdvbhujnngre/fghbbvffvgghpoiklmx/status.txt
Это имеет дополнительное преимущество, заключающееся в том, что для предотвращения завышения количества просмотров страниц запросы для этого URL-адреса можно легко исключить при генерации статистики посетителей.