域名解析中“TTL”是什麼意思?
我們在解析域名時經常會看到 TTL 這個欄位,裡面預設寫的是 3600 。另外,有時候我們PING某域名或IP的時候,會出現TTL= XXX 那麼TTL到底是什麼意思呢? |
TTL(Time-To-Live),就是一條域名解析記錄在DNS伺服器中的存留時間。當各地的DNS伺服器接受到解析請求時,就會向域名指定的NS伺服器發出解析請求從而獲得解析記錄;在獲得這個記錄之後,記錄會在DNS伺服器中儲存一段時間,這段時間內如果再接到這個域名的解析請求,DNS伺服器將不再向NS伺服器發出請求,而是直接返回剛才獲得的記錄;而這個記錄在DNS伺服器上保留的時間,就是TTL值。
一般情況下,域名的各種記錄是極少更改的,很可能幾個月、幾年內都不會有什麼變化。我們完全可以增大域名記錄的TTL值讓記錄在各地DNS伺服器中快取的時間加長,這樣在更長的一段時間內,我們訪問這個網站時,本地ISP的DNS伺服器就不需要向域名的NS伺服器發出解析請求,而直接從快取中返回域名解析記錄。
國內和國際上很多平臺的TTL值都是以秒為單位的,很多的預設值都是3600,也就是預設快取1小時,這個值實在有點小了,難道會有人一個小時就改一次域名記錄嗎?您可以根據自己的需要把這個值適當的擴大,例如要快取一天就設定成86400。Godaddy的TTL設定比較直觀,但總共只有5個值可以選定,即時切換到高階設定模式也是如此,有點死板了。網站贏利
環境所迫,LifeTyper.com的TTL值是設定成了最大值1周,設定成更大的值可能會有寫不必要的麻煩,例如當您要更換空間時,這些舊的記錄要很久才過期並被更新。
更換空間99.9%會有DNS記錄更改的問題,因為快取的問題,新的域名記錄在有的地方可能生效了,但在有的地方可能等上一兩天甚至更久才生效。結果就是有的人可能訪問到了新伺服器,有的人訪問到了舊伺服器。僅僅是訪問的話,這也不是什麼大問題,但如果涉及到了郵件傳送,這個就有點麻煩了,說不定哪封重要信件就被髮送到了那已經停掉的舊伺服器上。
為了儘可能的減小這個各地的解析時間差,合理的做法是:
1.先檢視域名當前的TTL值,我們假定是1天。
2.修改TTL值為可設定的最小值,可能的話,建議為1分鐘,就是60。
3.等待一天,保證各地的DNS伺服器快取都過期並更新了記錄。
4.設定修改新記錄,這個時候各地的DNS就能以最快的速度更新到新的記錄。
5.確認各地的DNS已經更新完成後,把TTL值設定成您想要的值,TTL=60還是太小了點。
記住,這一切都能起作用的前提,是那些DNS伺服器完全遵守這些標準和規範,否則NS伺服器上怎麼設定TTL都是白搭,但目前來看還沒發現這麼不講規矩的DNS伺服器。
問題是,沒有真正意義上的高速NS和DNS伺服器。就像這裡提到的,在國內速度表現尚可的萬網,在國外的評測網站中得分很低,而在國外評測拿到最高分的Godaddy,在國內使用時速度比萬網快不了多少。如果您有錢像Google、微軟那樣在全世界部署大量的CDN加速伺服器和NS伺服器,那當然沒問題,問題是這對絕大部分網站來說都不可能,國內國外不是不可兼得,而是很難網站贏利。
也許有人以為可以透過給域名指定兩個NS記錄(一個國內一個國外)來提高解析速度,但這也是不可能的,只有在DNS伺服器從第一個NS伺服器那裡獲取記錄失敗時才會向第二個NS伺服器傳送解析請求。我所知道的一個最廉價和有效的提速方法,就是修改剛才上面說的域名記錄的TTL值。
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2673781/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 域名解析TTL是什麼意思 TTL值設定為多少合適?
- 什麼是域名解析TTL?
- mysql中是什麼意思?MySql
- js 中~~是什麼意思?JS
- mysql中的“=”是什麼意思MySql
- python中mat是什麼意思?Python
- python中return是什麼意思?Python
- python中global是什麼意思?Python
- C++中::是什麼意思C++
- 域名解析是什麼?
- Linux中gpgcheck是什麼意思?作用是什麼?LinuxGC
- JQuery中$(document)是什麼意思有什麼作用jQuery
- Linux中建立group是什麼意思?Linux
- Python中的rad是什麼意思?Python
- javascript中window.$是什麼意思JavaScript
- 什麼是DNS域名解析DNS
- ITIL是什麼意思?ITIL是什麼?
- 什麼是域名解析?如何設定域名解析?
- python 是什麼意思Python
- HTML是什麼意思?HTML
- Symmathesy是什麼意思?
- TypeScript 中的字面量是什麼意思TypeScript
- c++中 -> 是什麼意思,如何使用C++
- 域名解析中的TTL值設定多少合適?
- Linux中opt是什麼意思?其主要作用是什麼?Linux
- BGP是什麼意思,一般的BGP機房是什麼意思
- 什麼是API介面,具體是什麼意思?API
- DRBD是什麼意思?優缺點是什麼?
- git push -u 中的u是什麼意思Git
- 在Linux系統中,dev是什麼意思?Linuxdev
- 加簽是什麼意思?
- fluent python是什麼意思Python
- jquery庫是什麼意思jQuery
- RDP是什麼意思?有什麼用?
- LDAP是什麼意思?有什麼用?LDA
- bucket是什麼意思?有什麼作用?
- Linux系統中掛載是什麼意思?作用是什麼?Linux
- 網路安全中蜜罐是什麼意思?有什麼特點?