摘要

  • time.gov 的前身是 NIST 于1997年放上部门网站的时钟;独立域名在1999年6月注册,网站随后上线。
  • 早期网页时钟用服务器与本机之间的差值修正显示,靠本机继续走时,并把取得参照所花的时间呈现在页面上。

“现在几点”是个很容易过期的问题。服务器认真回答,网络负责运送,浏览器再把数字画出来;这一通忙完,“现在”已经往前走了一截。国家标准时间也得遵守这套收货流程。

NIST 在2002年技术手册里留下了一张有趣的截图:大数字下面写着“Accurate within 0.5 seconds”。这是那次请求显示的粗略精度估计。半秒钟的小字,把实验室到屏幕之间的距离交代了出来。

一只时钟,领到了独立门牌

按照早期技术论文的记载,NIST 在1997年把网页时钟放上部门网站,后来因其受欢迎,决定单独建站。time.gov 域名于1999年6月23日注册,网站紧接着上线。启动网站的决定由 NIST 与 United States Naval Observatory 共同作出。

读者先在美国地图上选时区。幕后,Java 小程序取得服务器时间,与电脑自己的时间比较,算出差值。往后屏幕上的时钟,就由本机时间加上这个差值来驱动,每十分钟重新核对一次。实验室提供参照,读者的电脑负责接着走。钟表也学会了分工。

麻烦出在进门方式。动态时钟通过8013端口联系服务器,防火墙可能把它拦下来。网站另备了一个静态版本,通过普通网页使用的80端口送来时间快照。想看新的时间,再点刷新。时间当然一直往前走,只是这只网页钟需要有人提醒它更新营业状态。

报个时,怎么带了这么多行李

2007年的改版论文把旧方案的忙碌列得很清楚:每次请求都要启动服务器上的 Perl 解释器,还要调取多个文件、读取时钟。一个“几点了”,拖着一队随行人员。

论文介绍的待上线方案改用 Flash 界面和编译好的取时程序,经80端口请求时间,并把美国各时区直接摆在同一屏上。NIST 在自己的局域网里比较两种方案,新方案处理并发请求时延迟小得多。回答问题以前,服务器少做了一批杂务。

不过,工程师没有把测得的往返时间除以二,再从显示中扣掉。论文把理由说得具体:他们不知道等待发生在哪一段。如果大部分等待发生在服务器读取时钟之前,贸然扣掉一半,屏幕反倒可能跑到正确时间前面。数学题做得很漂亮,钟却被“修”快了。

所以,延迟继续显示给读者。本机继续负责两次核对之间的走时。这个网站有趣的地方,就藏在大数字旁边:报时之外,还交代了这声报时如何抵达。准时是实验室的本事,把路上的耽搁写明白,也是网页的本事。