MŮŽE toto udělat? Jistě – existují nefunkční servery DNS (např. ty, které provozuje AOL), které to dělají, a každý admin, kterého znám, to nenávidí.
MĚL BY toto udělat? Téměř jistě ne.
Obecně lze říci, že TTL bylo z nějakého důvodu nastaveno na konkrétní hodnotu (v případě Googlu pravděpodobně odolnost proti chybám:Pokud server vybuchne, nebudete moci kontaktovat google pouze 5 minut) a neměli byste s tím makat. .
Už nyní získáváte zvýšení výkonu tím, že si záznam google.com ponecháte ve své mezipaměti po dobu 5 minut, po které je zamýšleno, protože vaše jednotlivé pracovní stanice nebudou docházet k internetu kvůli rozlišení – nepřepínejte optimalizaci a poruší očekávané chování :)
nejšpinavější a nejošklivější věc, kterou lze udělat, je...
1-Stažení zdroje2-najděte soubor s názvem cache.c3-najděte funkci is_expired
4- Změňte to tímto způsobem
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
}
Kdy vypršela platnost dotazu na funkci? vždy jsme viděli ne
Tímto způsobem to nikdy nevyprší a vy dobyjete svět.
VÝSTUP:
; <<>> 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
Pokud vás opravdu zajímá historie spíše než přesnost, nejrychlejší nejšpinavější hack, který můžete udělat, je pravděpodobně udělat ze svého jmenného serveru autoritativního hlavního serveru domény a pomocí skriptu znovu vytvářet soubor zóny tak často, jak je potřeba. Rozhodně se však doporučuje pouze pro ovládnutí světa, nikoli pro skutečný život.
Obecně, pokud opravdu chcete, aby záznam velmi krátkého TTL v aplikaci přetrvával, zdá se, že jediným rozumným způsobem je uložit jej do mezipaměti v rámci aplikace.