Есть ли способ определить время работы сервера по http-ответу?

StackOverflow https://stackoverflow.com/questions/963304

  •  12-09-2019
  •  | 
  •  

Вопрос

Я ищу способ узнать, как долго сервер был запущен, основываясь только на странице, которую он отправляет обратно.Например, если бы я перешел к www.google.com, есть ли какая-то переменная заголовка ответа, которая сообщает, как долго сервер, к которому я подключился, был запущен?Я сомневаюсь, что есть, но спросить никогда не помешает...

Это было полезно?

Решение

Нет, потому что HTTP, как протокол, на самом деле не имеет значения.В любом случае, 50 разных запросов к google.com могут оказаться на 50 разных серверах.

Если вам нужна эта информация, вам нужно встроить ее в приложение, что-то вроде "http://google.com/uptime" который предоставит Google представление о том, как долго он был запущен - Google, вероятно, сделает это в виде статической страницы, показывающей дату их создания :-).

Другие советы

Не с HTTP.

IT является возможно, однако, определить время безотказной работы на многих операционных системах путем опроса полученных TCP-пакетов.Посмотрите на RFC 1323 для получения дополнительной информации.Я полагаю, что заголовок метки времени увеличивается на некоторое значение с каждой транзакцией и сбрасывается до нуля при перезагрузке.

Предостережения:это работает не со всеми операционными системами, и вам приходится отслеживать серверы с течением времени, чтобы получать точные данные о времени безотказной работы.

Netcraft делает это:видишь здесь для расплывчатого описания:

"Время безотказной работы", представленное в этих отчетах, - это "время с момента последней перезагрузки" компьютера переднего плана или компьютеров, на которых размещен сайт.Мы можем обнаружить это, просмотрев данные , которые мы записываем при выборке сайта.Мы можем определить, как долго отвечающий компьютер (ы), на котором размещен веб-сайт работает, и, записывая эти выборки за длительный период времени, мы можем построить графики, которые показывают это в виде линии.Обратите внимание, что это не то же самое что и доступность сайта.

К сожалению, на самом деле это не так.Вы можете проверить это сами, запросив HTTP-заголовки с соответствующего сервера.Например, из google.com вы получите:

HTTP/1.0 200 OK
Cache-Control: private, max-age=0
Date: Mon, 08 Jun 2009 03:08:11 GMT
Expires: -1
Content-Type: text/html; charset=UTF-8
Server: gws

Онлайн-инструмент для проверки HTTP-заголовков:

http://network-tools.com/default.asp?prog=httphead&host=www.google.com

Теперь, если это ваш собственный сервер, вы можете создать скрипт, который будет сообщать о времени безотказной работы, но я не думаю, что это то, что вы искали.

В дополнение к тому, что сказал Pax, существует ряд сторонних сервисов, которые отслеживают время безотказной работы сайта, пытаясь получить доступ к ресурсам сервера через определенные промежутки времени.Они хранят некоторый объем истории в своих собственных базах данных, а затем сообщают вам, когда эти ресурсы недоступны.

Я использую Вечеринка в стиле Аптайм для мониторинга сервера.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top