Кратко

  • Часы появились на сайте подразделения NIST в 1997 году. Домен time.gov зарегистрировали в июне 1999-го, а вскоре открыли самостоятельный сайт.
  • Браузерная индикация использовала часы самого компьютера с поправкой относительно сервера. Рядом показывалась оценка задержки запроса.

У вопроса «который час?» в интернете есть производственный дефект: ответ успевает постареть в дороге. Сервер считывает время, сеть переносит сообщение, браузер выводит цифры. Настоящее тем временем спокойно уходит дальше. Даже официальному времени приходится ждать своей очереди.

В техническом руководстве NIST за май 2002 года сохранился снимок страницы с крупными цифрами и небольшой строкой «Accurate within 0.5 seconds». Полсекунды — оценка для запроса, показанного на иллюстрации. Эта скромная подпись давала читателю представление о пути от источника до экрана.

Часам выделяют отдельный адрес

Ранняя техническая статья ведёт историю с 1997 года, когда NIST добавила часы на сайт своего подразделения. Популярность стала поводом создать отдельную площадку. Домен time.gov зарегистрировали 23 июня 1999 года; сайт заработал сразу после этого. Решение о запуске NIST приняла совместно с United States Naval Observatory.

Посетитель выбирал часовой пояс на карте. Java-апплет сравнивал время сервера с показаниями компьютера и сохранял разницу. Дальше экранные часы шли по местным часам с этой поправкой, сверяясь заново каждые десять минут. Лаборатория давала ориентир, домашний компьютер отсчитывал следующие секунды.

Чтобы получить ответ, апплет обращался к порту 8013. Межсетевой экран мог закрыть этот проход. На такой случай существовала статическая страница, использующая обычный веб-порт 80. Для новой отметки посетитель обновлял её вручную. Время двигалось самостоятельно; его веб-портрет требовал периодического обслуживания пальцем.

Спросить время оказалось хлопотно

Работа о переработке сайта, представленная в 2007 году, перечисляла накладные расходы старого решения. Каждый запрос запускал интерпретатор Perl на сервере, обращался к нескольким файлам и неоднократно считывал часы. Короткий вопрос приходил с внушительной свитой.

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

При этом авторы оставляли задержку на виду. Они измеряли путь туда и обратно, но отказались просто вычитать половину результата. Где именно пришлось ждать, такое измерение не показывало. Если основное ожидание случилось до чтения серверных часов, вычитание могло увести экранные часы вперёд. Аккуратное деление — довольно сомнительный способ научить сеть опаздывать симметрично.

Между сверками по-прежнему работали часы местного компьютера. История time.gov интересна этим вниманием к доставке: хорошую временную отметку ещё предстояло превратить в полезное показание. Крупные цифры сообщали час. Маленькая строка рядом объясняла, сколько дороги осталось в ответе.