Jak ustalamy godzinę na tej stronie?
Krótko i bez marketingu: skąd pochodzi czas, jaką ma dokładność i czego nie należy od niego oczekiwać.
Trzy kroki
- Pytamy serwer. Przeglądarka wysyła zapytanie do naszego serwera, który zwraca swój aktualny czas. Serwer jest synchronizowany z publicznymi serwerami NTP.
- Mierzymy opóźnienie. Sprawdzamy, ile trwało zapytanie w obie strony (RTT), i zakładamy, że odpowiedź płynęła połowę tego czasu.
- Liczymy korektę. Różnica między czasem serwera po odjęciu opóźnienia a zegarem Twojego urządzenia to przesunięcie, którym poprawiamy wszystkie zegary na stronie. Powtarzamy to co 10 minut.
Na ile to dokładne?
W typowych warunkach wynik różni się od prawdziwej godziny o ułamek sekundy. Największym źródłem błędu jest asymetria łącza: gdy zapytanie leci wolniej niż odpowiedź (albo odwrotnie), założenie „pół na pół” przestaje być prawdziwe. Przy mobilnym internecie czy VPN błąd może wzrosnąć do kilkuset milisekund.
Dla porównania, zegar systemowy w komputerze z włączoną synchronizacją jest zwykle równie dokładny. Przewagą strony jest to, że działa także wtedy, gdy synchronizacja w systemie jest wyłączona lub ustawiona błędnie.
Czym ta strona nie jest?
- Nie jest źródłem czasu urzędowego ani serwisem państwowym i nie jest powiązana z żadną instytucją publiczną.
- Nie ma własnego zegara atomowego. Korzystamy z czasu serwera synchronizowanego przez NTP.
- Nie nadaje się do rozliczeń, dowodów czasu ani zastosowań, w których liczy się certyfikowana dokładność.
Strefy czasowe i czas letni
Godziny w miastach przeliczamy w przeglądarce na podstawie bazy stref czasowych IANA, w której zapisane są reguły zmiany czasu każdego kraju. Dlatego po przestawieniu zegarów w danym państwie wartości aktualizują się bez naszej ingerencji. Gdy kraj zmieni własne przepisy, baza musi zostać zaktualizowana przez producenta przeglądarki i systemu.