仕様と根拠
計算の方法
古い値が残りうる最長の時刻は、レコードを変更した日時に TTL の秒数を足したものです。キャッシュは取得した時点から TTL の間だけ値を保持してよいため、変更の直前に取得されたキャッシュが最後まで残る場合が最長になります(RFC 2181 8 節)。
範囲と特別な値
TTL は 32 ビットの符号なし整数ですが、使えるのは 0 から 2147483647 までです。上限を超え最上位ビットが立った値は 0 として扱う決まりなので、警告にして 0 秒として計算します。4294967295 を超える値は書けないためエラーです。0 はキャッシュしないという意味です。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| RFC 2181 Clarifications to the DNS Specification | 2026年10月28日 | 8 節(TTL は 0〜2147483647 の符号なし 32 ビット整数・最上位ビットが立った値は 0 として扱う・キャッシュに残す最大の時間) |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- 実際のキャッシュの保持は実装しだいで、TTL より短く捨てられることがあります。ここで出すのは仕様上の最長の目安です。
- 変更前に TTL を下げてある場合、下げる前の TTL が残る期間までは考慮しません。変更前の TTL の履歴を入れて計算してください。
- 他社の DNS サーバーや、ブラウザ・OS・ルーターが独自に持つキャッシュの動作は判定しません。
ご利用にあたって
- 結果は仕様上の最長の目安で、実際に古い値が消える時刻を保証するものではありません。
- 本番の切り替えでは、複数の場所から実際の応答を確かめてから旧環境を止めてください。