KANN das getan werden? Sicher - es gibt kaputte DNS-Server (z. B. die, die AOL betreibt), die das tun, und jeder Admin, den ich kenne, hasst es.
SOLLTE das getan werden? Mit ziemlicher Sicherheit nein.
Im Allgemeinen wurde die TTL aus einem bestimmten Grund auf einen bestimmten Wert gesetzt (im Fall von Google wahrscheinlich Fehlertoleranz:Sie können Google nur 5 Minuten lang nicht erreichen, wenn dieser Server explodiert), und Sie sollten nicht daran herumspielen .
Sie erhalten bereits einen Leistungsschub, indem Sie den google.com-Eintrag für die 5 Minuten, für die er leben soll, in Ihrem Cache behalten, da Ihre einzelnen Workstations nicht zur Auflösung auf das Internet angewiesen sind – optimieren Sie nicht zu viel und das erwartete Verhalten brechen :)
das SCHMUTZIGSTE Hässlichste, was man machen kann, ist...
1-Herunterladen der Quelle2-Suchen Sie die Datei mit dem Namen cache.c3-Suchen Sie die Funktion is_expired
4- Ändern Sie es auf diese Weise
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
}
Wann ist die Funktion ask abgelaufen? wir haben immer nein gesehen
Auf diese Weise läuft es nie ab und Sie werden die Welt erobern.
AUSGABE:
; <<>> 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
Wenn Sie wirklich eher an Geschichte als an Genauigkeit interessiert sind, der schnellste Der schmutzigste Hack, den Sie tun können, besteht wahrscheinlich darin, Ihren Nameserver zu einem autoritativen Master für die Domain zu machen und die Zonendatei so oft wie nötig über ein Skript neu zu erstellen. Definitiv nur für die Weltherrschaft zu empfehlen, nicht für das wirkliche Leben.
Wenn Sie wirklich möchten, dass ein Datensatz mit sehr kurzer TTL in einer Anwendung bestehen bleibt, scheint es im Allgemeinen der einzig vernünftige Weg zu sein, ihn innerhalb der Anwendung zwischenzuspeichern.