プロキシ経由の大まかな時刻確認に HTTP Date と Age を使う
大まかな時刻確認に HTTP Date レスポンスを使い、解釈する前にキャッシュされたレスポンスの経過時間を考慮します。
利用できる外向きの経路が HTTP プロキシである場合、ウェブレスポンスから大まかな時刻の手がかりを得られます。時計を信頼できる管理下のエンドポイントに対して、その経路経由でレスポンスヘッダーを要求します:
curl --head --proxy http://proxy.example.net:8080 https://time.example.net/
このホストは例示用のエンドポイントであり、公開の時刻サービスではありません。信頼できるエンドポイントが公開されて到達可能で、ネットワークが認証なしの公開中継を許す場合、HTTP プロキシ一覧はプロキシアドレスの候補を提供できますが、信頼できる時計は提供しません。レスポンスには次のものが含まれることがあります:
Date: Thu, 29 Oct 2026 08:15:20 GMT
Age: 45
Date は HTTP メッセージが生成された時刻を表します。これは必ずしも「このクライアントにおける現在の瞬間」を意味しません。キャッシュされたレスポンスは、再利用のために有効なままより古い Date を持つことがあります。Age フィールドは、レスポンスの経過時間に対するキャッシュの推定値を秒で表します。
この例示的なレスポンスでは、報告された経過時間を加えると、転送遅延と推定誤差を考慮する前におよそ 08:16:05 GMT という大まかな目安になります。これは測定されたずれではありません。アプリケーションが不確かさを記述したい場合は、クライアントが要求を送信しレスポンスを受信した時刻を記録してください。
一部のサーバーは HEAD を想定どおりにサポートしなかったり、使える時刻メタデータを省略したりします。欠落または不正なフィールドは時刻観測の失敗として扱ってください。407 レスポンスはプロキシのやり取りを記述するものなので、その Date が自動的に問い合わせ対象のエンドポイントの時計になるわけではありません。
観測の用途を選ぶ
これは、数時間や数日ずれた時計を特定したり、診断レポートに概算の遠隔タイムスタンプを添えたりするのに役立ちます。NTP の時計選択や遅延・オフセット処理は提供せず、精度に敏感な時計調整を導くべきではありません。
実際のシステム同期には、ネットワークで承認された時刻サービスとサポートされる時刻同期経路を使用してください。HTTP プロキシ経路は、NTP プロトコル自体を利用可能にすることなく、上記のヘッダー確認を運ぶことができます。