1. 程式人生 > >什麼是域名的TTL值? ——一條域名解析記錄在DNS快取伺服器中的存留時間

什麼是域名的TTL值? ——一條域名解析記錄在DNS快取伺服器中的存留時間

什麼是域名的TTL值? 

轉自:http://hizip.net/index.php/archives/20/
TTL(Time-To-Live),就是一條域名解析記錄在DNS伺服器中的存留時間。當各地的DNS伺服器接受到解析請求時,就會向域名指定的NS伺服器(權威域名伺服器)發出解析請求從而獲得解析記錄;在獲得這個記錄之後,記錄會在DNS伺服器(各地的快取伺服器,也叫遞迴域名伺服器)中儲存一段時間,這段時間內如果再接到這個域名的解析請求,DNS伺服器將不再向NS伺服器發出請求,而是直接返回剛才獲得的記錄;而這個記錄在DNS伺服器上保留的時間,就是TTL值。

域名DNS分兩種,一種是權威域名伺服器,域名註冊商的伺服器都為權威域名伺服器,TTL值只能在權威伺服器修改,還有一種域名解析伺服器就是快取DNS伺服器,比如各地ISP上網設定的DNS伺服器,它的作用主要是把域名解析結果快取到本地,方便你查詢。域名DNS的TTL值實際上就是各地的DNS快取伺服器多久去你的權威域名解析伺服器(NS)獲取一次你域名的解析IP。

那麼域名解析的TTL只應該設定為多少合適呢,下面有兩個建議,你可以結合自己參考一下:

一.增大TTL值,以節約域名解析時間,給網站訪問加速。

一般情況下,域名的各種記錄是極少更改的,很可能幾個月、幾年內都不會有什麼變化。你可以增大域名記錄的TTL值讓記錄在各地DNS伺服器中快取的時間加長,這樣在更長的一段時間內,訪問這個網站時,本地ISP的DNS伺服器就不需要向域名的NS伺服器發出解析請求,而直接從快取中返回域名解析記錄。

國內和國際上很多平臺的TTL值都是以秒為單位的,很多的預設值都是3600,也就是預設快取1小時,這個值實在有點小了,難道會有人一個小時就改一次域名記錄嗎?你可以根據自己的需要把這個值適當的擴大,例如要快取一天就設定成86400。

二.減小TTL值,減少更換空間時的不可訪問時間。

更換空間因為TTL快取的問題,新的域名記錄,在有的地方可能生效了,有的地方可能等上一兩天甚至更久才生效。結果就是有的人訪問到了新伺服器,有的人訪問到了舊伺服器。如果原來的域名TTL值設定的小,各地的ISP域名快取伺服器伺服器就會很快的訪問你域名的權威DNS解析伺服器,儘快把你域名的DNS解析IP返回給查詢者。

這就是說如果想要解析速度,各地ISP的DNS伺服器快取你的域名,你就需要把TTL值設定大一些,如果想讓域名更換空間或者IP後能儘快解析到新的IP上,就需要把TTL值設定小一些。

對於IP地址相對固定,或短期內不會變更IP地址的使用者來說TTL值設定的大些如幾個小時或更大些為宜。調大TTL值可以顯著的提高域名的解析穩定性和速度。而對於近期有計劃變更IP地址的使用者需要提前把TTL值改小,以便使快取在世界各地DNS伺服器上的舊域名記錄迅速過期,等IP地址固定下來後再把TTL值改大。