日付の処理
Macintosh のオペレーティング システムでは、内部的に 32 ビットの整数値として日付が保存されます。保存形式は 32 ビット値で、1904 年 1 月 1 日以降の秒単位の数を示します。
下 2 桁の西暦の処理
Microsoft Internet Explorer 4.5 for Mac では、次のように下 2 桁の西暦が解釈されます。
50 未満の値は 20XX 年と解釈され、50 以上の値は 19XX 年と解釈されます。
00 年 1 月 1 日~ 49 年 12 月 31 日は、2000 年 1 月 1 日~ 2049 年 12 月 31 日と解釈されます。
50 年 1 月 1 日~ 99 年 12 月 31 日は、1950 年 1 月 1 日~ 1999 年 12 月 31 日と解釈されます。
古い Web サーバーを使用している Web サイトでは、HTTP/1.0 ヘッダーが使用されている場合があります。このヘッダーでは、西暦が下 2 桁で表されます。Web 作成者が cookie データの期限終了日に下 2 桁の西暦を使用している場合もあります。
日付範囲の内部表現は 1904 ~ 2035 年です。Web サーバーの HTTP/1.0 ヘッダーで下 2 桁の西暦が使用されている場合、Internet Explorer では、上に示した方法で解釈し、サーバーには 4 桁の西暦を返します。サーバーで下 2 桁の西暦が必要な場合は、Internet Explorer は下 2 桁の西暦を返します。4 桁の西暦のヘッダーまたは下 2 桁の西暦のヘッダーは、上に示した方法で解釈されます。
日付に関する注意事項
Internet Explorer の日付処理に関係なく、Web ページの HTML コンテンツ、サーバーの証明、JSCRIPT、Java アプレット、サーバー スクリプト、コントロールで 2000 年問題が起こる場合があります。
JSCRIPT のメソッド .getYear() は、1999 年までの対応期間内は下 2 桁の文字列の西暦を返し、2000 年以降の対応期間内は 4 桁の西暦を返します。Web 作成者は、4 桁の西暦だけを返すメソッド .getFullYear() を使用することもできます。
証明に対する X.509 仕様では、2049 年までは、下 2 桁の西暦で日付を表すことが必要です。4 桁の西暦は 2050 年以降でなければ使用できません。これらの問題に加えて、セキュリティのための証明の大半が 1999 年 12 月 31 日の 24 時に失効するように設定されていることを考慮して、Web サイトの管理者はユーザーへのサービスを中断することなく運営することが必要です。
ガイドラインと推奨事項
Web サイトや Web ベースのアプリケーションの 2000 年問題をテストする場合は、Internet Explorer、Web サーバー、そして該当する場合はプロキシ サーバーが 2000 年に移行しても機能することをテストする必要があります。たとえば、Web サーバーやプロキシ サーバーには、HTTP/1.0 ヘッダーで下 2 桁の西暦を使用しているものがあります。Internet Explorer チームでは、よく使用されている Web サーバーやプロキシ サーバーをテストしました。しかし、Internet Explorer の検証では、次の項目についても使用している環境で確認してください。
- 認証:
セキュリティが確立されたサイトや SSL 接続を使用している場合、権限のあるユーザーが正しく認証されること、権限のないユーザーが拒否されること、正しい処理が行われることを確認します。
- ファイルのダウンロード:
サイトで参照しているすべてのファイルが正しくダウンロードされることを確認します。
- 検索:
検索バーがよく使用する検索プロバイダに対して機能することを確認します。
- 履歴:
Internet Explorer で、今日、前日、過去の週にアクセスしたサイトが表示されることを確認します。
- 購読:
Internet Explorer 4 では、チャンネル コンテンツの更新予定や期限終了日を取得できます。購読サイトが正しく更新されることを確認します。
また、Web サーバーとプロキシ サーバーの 2000 年問題対応状況と推奨事項について、各ベンダに問い合わせてください。
2000 年問題には、コンテンツ固有のものもあります。インタラクティブなサイトがその Web ページの HTML コンテンツ、cookie、サーバーの証明、JSCRIPT、Java アプレット、サーバー スクリプト、コントロールに関して 2000 年に対応していることを確認します。