我々の研究に関連する資料です

info_page
時刻表示 利用上の注意

 一般的な家庭用PC、ADSLなどのインターネット環境で利用される場合、 本ページで表示される時刻は、ほとんどの場合誤差1秒以内に収まりますが、 ネットワークの混雑状況等によっては、大きな誤差を生ずることもあります。
 通常、2台のサーバから取得した時刻の平均値を表示していますが、 2台のサーバから取得した時刻情報が大きく異なる場合、またはサーバからの 時刻取得に失敗した場合には、その旨表示され、この場合、表示されている 時刻は正しくない可能性があります。
 また、時刻情報の取得は最初の表示、または再読み込みの時に行われ、その後は PC 内蔵時計を基準として 時計表示が進みますので、徐々に時刻誤差が増加します。


日本標準時表示イメージ図

技術情報

このページでは、「日本標準時表示ページ」に関する技術情報をお届けします。

(続々)http による時刻情報取得について 2011.11.25
(続)http による時刻情報取得について 2010.02.18
「地域標準時との差」について 2009.02.02
JSONP 版のテスト運用について 2008.12.02
サーバの変更について 2007.12.21
http による時刻情報取得について 2007.04.27
うるう秒対応について 2005.12.05
大型数字バージョン設置 2005.11.30
「日本標準時表示ページ」の動作概要 2005.05.26
safariへの対応 2005.05.26
表示精度の向上 2004.04.03
ドメイン名変更に関する補足 2004.03.11
日本標準時表示ページへの機械的アクセスについて 2004.03.04


(続々)http による時刻情報取得について 2011.11.25


NICT http時刻供給サービスに JSON 形式のサービスが追加され、ヘッダに、
"Access-Control-Allow-Origin:*" が付加されるようになりました。
詳しくはこちら

(続)http による時刻情報取得について 2010.02.18


NICT 公開 NTP サービスと同列のサービスとして、https/http による時刻供給サービスが 開始されており、「日本標準時表示ページ」も、この JSONP を利用したものに移行しました。
「https/http による時刻供給サービス」 に移行されますようお願いします。

「地域標準時との差」について 2009.02.02


PCの時計を合わせたばかりでも、「あなたのコンピュータの内蔵時計」の「地域標準時との差」が0にならないことがあります。

  • JSONP 版では表示が0.1秒単位になっていますが、ネットワークの状況によっては、それ以上の時刻誤差が出ます。 再読み込みを行うと、DNS のキャッシュ効果等により、若干誤差が減ることが多いようです。
  • Windows XP 等に標準装備されている「日付と時刻のプロパティ」「インターネット時刻」によって手動で 時刻合わせを行った場合、その直後でも時刻誤差が生じていることがあるようです。他のPC時計合わせソフトを 試してみてください。
  • 時計合わせを行っても、そのままでは表示に反映されません。 「再読み込み」を行うか、ブラウザの再起動を行ってください。

JSONP 版のテスト運用について 2008.12.02


従来の「日本標準時表示ページ」では、cgiプログラムによってwwwサーバの時刻をJavaScriptコードに埋め込み、 これをクライアントで実行することにより、時刻の表示を行っていましたが、この方法では、
  • wwwサーバの時刻に依存するため、wwwサーバの十分な時刻管理が必要
  • cgiプログラムでwwwサーバの時刻が安定しているかをチェックしているため動作が重い
  • cgiプログラムがJavaScript/htmlソースを書き換える構成のため、保守がやりづらい
  • サーバクライアント間の伝送遅延時間がそのまま時刻誤差となる
  • キャッシュされたコンテンツでは、正しい時刻が表示されない
  • 他組織や機構内他部署が「時刻表示」を設置する場合、wwwサーバの十分な時刻管理が困難
といった問題がありました。

これらを解決するため、日本標準時関連部署で実施する「インターネット時刻供給サービス」にJSONP(JavaScript Object Notation with Padding)形式でのサービスを追加し、「日本標準時表示ページ」の JavaScript プログラムから、JSONP 形式の時刻情報を動的に取得する方法に変更しました。

現在、テスト中のものが、
http://www2.nict.go.jp/w/w114/tsp/JST/JST5.html (通常版)
http://www2.nict.go.jp/w/w114/tsp/JST/JST6.html (でか文字版)
に設置してあります。 (参考文献) (作者

JSONP形式での時刻供給サービスにつきましては、
http://www2.nict.go.jp/w/w114/tsp/PubNtp/clients.html をご参照ください。

サーバの変更について 2007.12.21


wwwサーバの負荷を分散するために、「日本標準時表示ページ」を提供するサーバが www2 から www3 に変更となりました。ブックマークされている方は、新しい URL でブックマークを更新していただけますようお願いします。なお、旧 URLへのアクセスは、リダイレクトされます。


http による時刻情報取得について 2007.04.27


パソコン等の時計合わせには、NTP ないしは SNTP が利用されるのが普通ですが、ファイアウオール等の制限でこれらが使えないケースもあります。こういったユーザのために、http による時刻取得機能を持った時計合わせソフトが作成されています。
 このような目的に利用可能な時刻ソースとしては、以下のようなものがあります。

●http://www2.nict.go.jp/cgi-bin/JST.cgi
 html body 中の「コメント」部分にある時刻文字列を切り出すことにより時刻情報が得られます。
 このような変則的なフォーマットになっているのは、もともと人が見るために作成された「日本標準時表示ページ」が、パソコン時計合わせに流用されていたため、それらの可用性を継続させるためです。
 古いクライアントソフトでは、http://www2.nict.go.jp/cgi-bin/JST.pl を利用する設定のものもありましたが、こちらについてはサーバ負荷が大きいため、定期的な時刻の自動取得には利用しないで下さい


●http ヘッダの Date: フィールドを使う
 通常の www ページでも、サーバーから送られてくるデータのヘッダには Date: フィールドがあり、これによりサーバの時刻情報を得ることができます。但し、サーバの時計がどのように管理されているかは不明なケースが多いので、その点には注意が必要です。また、Date: フィールドで得られるのは秒単位の情報ですから、正確な時計合わせには不向きです。
 この方法によるソフトウエアは、htp (HTTP Time Protocol), htptime, htpd や、パソコン時計合わせソフトに組み込まれたものなどがあります。

●NICT Internet Time Transfer Service を利用する
 NICT public NTP service と同じラックにあるサーバからも http, https で時刻情報が取得できる予定です。
 現在、テスト中ですので、仕様が変更になったり、サービスが中断することがあります。

うるう秒対応について 2005.12.05


 日本標準時 2006年1月1日 8時59分59秒の直後にうるう秒が挿入されます。 (うるう秒詳細情報)
 時刻表示ページのプログラムは、うるう秒挿入に対応していますが、表示される時刻は、クライアント側のOS、時計合わせソフト、 JavaScript 実行環境等に依存しますので、すべてのケースで正しく動作するわけではありません。 もともと、これらの時刻表示ページは秒単位の正確さを保障しているものではありませんが、「うるう秒挿入の様子を理解する助けになる」表示動作を「できるだけ多くの環境で実行できる」ことを目標に、うるう秒対応を行っています。

下記は、多様な実行環境、サーバ負荷の問題などからくる制限事項です。
 ・表示継続中にクライアントの内蔵時計が修正された場合、時刻表示に誤差が生じます。
 ・うるう秒挿入中(1秒間)に行われたアクセスでは、1秒の表示誤差が出ます。
 ・うるう秒挿入中(1秒間)の「地域標準時との差」表示は、1秒の表示誤差が出る場合があります。
前2者につきましては、再読み込みすれば正常な表示となります。

大型数字バージョン設置 2005.11.30


 日本標準時のみを、大型のGIF画像による数字で表示するページを設置しました。

「日本標準時表示ページ」の動作概要 2005.05.26


 このプログラムは Perl で書かれており、ユーザからのアクセスに応じて、CGI から起動されます。
 起動後、まず、Web サーバの時計が合っていることを確認します。これは、ntpd のステータスをチェックすることによって行っており、安定が確認できなかった場合には、ユーザ画面にその旨表示されます。
 次に、JavaScript プログラムを含む HTML ドキュメントのテンプレートを読み込み、「現在時刻」「うるう秒挿入情報」などの部分を書き換えたものを、ブラウザに返します。
 ユーザのブラウザでは、読み込み完了時に発生する onLoad イベントで、JavaScript プログラムが起動し、時刻表示が開始されます。時計表示は、クライアント側(パソコン)の内蔵時計を基準に自走しており、サーバからの時刻情報提供は、アクセスした時点の1回だけです。

safariへの対応 2005.05.26


 Mac OS X Tiger の標準ブラウザ、safari に対応しました。
 この関係で、サーバから渡される時刻情報の表現が変更されています。

表示精度の向上 2004.04.03


 従来のプログラムでは、サーバから供給される時刻情報は秒単位で、秒未満を切り捨て、ネットワーク遅延、プログラム起動の遅延分として1秒加算したものでした。
 オリジナルプログラムの作成当時は、アナログモデムによるインターネットアクセスが主流でしたから、秒単位でも十分と考えていましたが、昨今のブロードバンド環境普及、パソコンの高速化に対応して、秒未満の情報も渡すようにプログラムを変更しました。
 新しいプログラムでは、ミリ秒単位の現在時刻に、ネットワーク遅延、プログラム起動の遅延分として100ミリ秒加算したものを使っています。
 但し、ユーザ側で表示される時刻精度は、ネットワークの混雑状況、サーバの負荷状況などに左右され、実際には1秒以上の誤差が出るケースも多いと思われます。

ドメイン名変更に関する補足 2004.03.11


 4月1日に、 crl.go.jp から nict.go.jp に変更されますが、従来のドメイン名を含むURLも、当面利用可能となる予定です。
(旧ドメイン名の利用可能期間:最長でも2004年11月30日)
 アクセス先を nict.go.jp に変更していない場合、上記期日以降アクセス(時刻情報取得)ができなくなります。

日本標準時表示ページへの機械的アクセスについて 2004.03.04


 2004年2月29日頃より、「日本標準時表示ページ」(JST Clock) へのアクセスが増加し、その影響で www.crl.go.jp,www2.crl.go.jp のレスポンスが低下するという事態に陥りました。
 上記ページへの直近1ヶ月間のアクセス数は、1000万回程度で、NTPサーバであればあまり問題にならないレベルですが、上記ページは比較的重い処理を行う cgiプログラムであり、最近のアクセス急増に耐えられない状態となりました。
 ログを解析した結果、そのアクセスの大部分は「パソコン時刻合わせソフト」からの機械的なものであることが判明しています。

 これへの対応のため、上記cgiのURL変更を行い、元のURLには、時刻文字列とURL変更の通知だけを返す軽いプログラムを設置しています。
 一部のクライアントについては、この状態で時刻取得が可能との報告が得られています。

新 URL:http://www2.crl.go.jp/cgi-bin/JST.pl  (機械的アクセス禁止)
旧 URL:http://www2.crl.go.jp/cgi-bin/JST.cgi (常識的な範囲で利用可)

HTTP による時刻取得
パソコン等の時計合わせには、NTP ないしは SNTP が利用されるのが普通ですが、ファイアウオール等の制限で、これらが使えないケースもあります。
こういったユーザの利便のため、通常のファイアウオールを通過できる http による時刻取得機能を持った時計合わせソフトがいくつか作成されており、これらがアクセスする先として、上記のURLが利用されているケースが多いようです。


Page Top



この改行は必要→