Достаточно ли чтения ответа HTTP GET, чтобы узнать, работает ли сервер?

Я хочу убедиться, что сайт работает и работает. Достаточно ли чтения ответа HTTP GET?

Что такое сервисы, такие как тест PingDom?

3 ответа

Решение

Обычно мониторинг HTTP происходит в одном из трех вариантов:

  1. Проверка того, отвечает ли сервер на порт, т. Е. TCP-соединение ACK (check_tcp в nagios)
  2. Проверка только кода ответа HTTP, т.е. выполнение OPTIONS или HEAD и проверка того, что ответ HTTP возвращается 2xx или 3xx (в отличие от 4xx или 5xx).
  3. Проверка ответа типа (2), а также проверка ожидаемой строки текста в выводе.

Вариант 3 будет наиболее надежным, но требует полного GET содержимого вашей страницы каждый раз, когда сервер мониторинга попадает на ваш сервер. Вариант 2 может быть реализован только с помощью HTTP OPTIONS или HEAD, Вариант 1 может быть реализован только с помощью connect ().

PingDom, вероятно, будет делать вариант (3), я бы предположил.

Ну, если вы действительно получили ответ, вы можете предположить, что реальный HTTP-сервер жив. Если вы хотите проверить, действительно ли сайт функционирует в дополнение к тому, чтобы быть в сети, вы должны прочитать этот ответ, чтобы убедиться, что это не страница с ошибкой или что-то в этом роде...

Если вы также хотите удостовериться, что сайт действительно работает (а не просто "работает"), вам следует запустить некоторый мониторинг транзакций или, что еще лучше, настоящий мониторинг браузера в дополнение к стандартным тестам http get и ping.

Конечно, это наиболее важно для сложных веб-сайтов, в которые интегрированы многие сторонние сервисы, Ajax, Javascript и т. Д. - Это не требуется для простого статического веб-сайта.

Смотрите также http://en.wikipedia.org/wiki/Synthetic_monitoring

Другие вопросы по тегам