Użyj HTTP Date i Age do zgrubnej kontroli czasu przez proxy
Użyj odpowiedzi HTTP Date do zgrubnej kontroli czasu i przed jej interpretacją uwzględnij wiek odpowiedzi z pamięci podręcznej.
Odpowiedź internetowa może dać zgrubny punkt odniesienia czasu, gdy dostępna trasa wyjściowa to proxy HTTP. Dla kontrolowanego punktu końcowego, którego zegarowi ufasz, poproś o jego nagłówki odpowiedzi tą trasą:
curl --head --proxy http://proxy.example.net:8080 https://time.example.net/
Host jest przykładowym punktem końcowym, a nie publiczną usługą czasu. Jeśli zaufany punkt końcowy jest publicznie osiągalny, a sieć dopuszcza publicznego pośrednika bez uwierzytelniania, lista proxy HTTP może dostarczyć kandydatów na adres proxy; nie dostarcza zaufanego zegara. Odpowiedź może zawierać:
Date: Thu, 29 Oct 2026 08:15:20 GMT
Age: 45
Date oznacza czas powstania komunikatu HTTP. Nie musi to oznaczać „bieżącej chwili u tego klienta”. Odpowiedź z pamięci podręcznej może mieć starszy Date, pozostając ważną do ponownego użycia. Pole Age wyraża oszacowanie pamięci podręcznej dotyczące wieku odpowiedzi w sekundach.
W tej przykładowej odpowiedzi dodanie zgłoszonego wieku daje zgrubny punkt odniesienia około 08:16:05 GMT, zanim uwzględni się opóźnienie transmisji i błąd oszacowania. Nie jest to zmierzone odchylenie. Zapisz, kiedy klient wysłał żądanie i otrzymał odpowiedź, jeśli aplikacja chce opisać niepewność.
Niektóre serwery nie obsługują HEAD zgodnie z oczekiwaniami lub pomijają użyteczne metadane czasu. Brakujące lub źle sformatowane pole traktuj jako nieudaną obserwację czasu. Odpowiedź 407 opisuje wymianę z proxy, więc jej Date nie jest automatycznie zegarem punktu końcowego, o który chciałeś zapytać.
Wybierz, czemu służy obserwacja
Może to pomóc zidentyfikować zegar błędny o godziny lub dni albo dołączyć przybliżony zdalny znacznik czasu do raportu diagnostycznego. Nie zapewnia wyboru zegara ani przetwarzania opóźnienia/odchylenia NTP i nie powinno sterować regulacjami zegara wrażliwymi na precyzję.
Do rzeczywistej synchronizacji systemu użyj zatwierdzonej usługi czasu sieci i obsługiwanej ścieżki synchronizacji czasu. Trasa proxy HTTP może przenosić powyższą kontrolę nagłówków bez udostępniania samego protokołu NTP.