できる これは行われますか?確かに - これを行う壊れた DNS サーバー (AOL が実行するものなど) があり、私が知っているすべての管理者はそれを嫌っています.
すべき これは行われますか?ほぼ確実に違います。
一般的に言えば、TTL は何らかの理由で特定の値に設定されています (Google の場合、おそらくフォールト トレランス:サーバーが故障した場合、Google に接続できないのは 5 分間だけです)。 .
個々のワークステーションが解決のためにインターネットを使い果たすことはないため、キャッシュに google.com レコードを 5 分間保持することで、すでにパフォーマンスが向上しています。最適化しすぎないでください。期待される動作を壊します:)
できる最も汚い最も醜いことは...
1-ソースのダウンロード2-cache.c というファイルの検索3-関数 is_expired の検索
4- このように変更
static int is_expired(time_t now, struct crec *crecp)
{
if (crecp->flags & F_IMMORTAL)
return 0;
if (difftime(now, crecp->ttd) < 0)
return 0;
return 0; // IT WAS IN ONE
}
関数 ask の有効期限が切れたのはいつですか?私たちはいつもノーを見ました
このようにして期限切れになることはなく、世界を征服することができます。
出力:
; <<>> DiG 9.6.1-P2 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28477
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.google.com. IN A
;; ANSWER SECTION:
www.google.com. 603937 IN CNAME www.l.google.com.
www.l.google.com. 4294966733 IN A 209.85.195.99
www.l.google.com. 4294966733 IN A 209.85.195.104
www.l.google.com. 4294966733 IN A 209.85.195.147
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Feb 17 18:34:47 2010
;; MSG SIZE rcvd: 110
正確さよりも歴史に本当に興味があるなら、最も速い あなたができる最も汚いハックは、おそらくネームサーバーをドメインの権限のあるマスターにし、スクリプトを介して必要なだけ頻繁にゾーンファイルを再作成することです.ただし、実際の生活ではなく、世界を征服するためだけに推奨されます.
一般に、非常に短い TTL のレコードをアプリケーション内で維持したい場合、アプリケーション内でキャッシュすることが唯一の賢明な方法のようです。