鐵人賽
域名讓網頁的ip地址轉變成能夠被人類理解的內容,根據維基百科的資料,到2022年已經有超過5億的域名登記註冊。
今天要稍微深入看一下Domain name這個部分的內容,內容應該會包含域名的結構、域名系統(DNS)如何在client要求與建立連線時將正確的ip交付。
一個域名可以由好幾個字串組成,這些字串被點(.)分隔,而最右邊的字串被稱為頂級域名Top-Level Domain(TLD)。
頂級域名可以大致分為國家和地區頂級域(ccTLD)以及通用頂級域(gTLD),ccTLD就像是台灣的tw結尾,而gTLD通常具有特定意義代表多個組織,例如gov(政府)、edu(教育機構)、com(商業)...等等
頂級域名往左就會被稱為子域名,由二級開始,每向左多出一個域名就會下降一層,三級、四級...等等。
我們稍稍回到昨天,當我們輸入網址並按下ENTER後,在透過DNS取得正確的步驟包括以下:
從以上資訊我們可以得到一個結論是一台DNS並不會存放所有域名的DN資料,資料都是分別儲存在層層搜尋出來的。
唯一共用位置資料的只有前面提到的根網域伺服器,他們共用同一份根域(Root Zone file)檔案,裡面記錄著頂級域名權威伺服器的ip位置。
linux的系統可以透過apt install whois安裝這個命令。
這個命令可以讓你查看指定網域的註冊資料,你也可以知道你查詢的網域是不是已經被使用了。
還記得過往曾經看過一些文章和你說,修改DNS的位置可以加速你的網路讀取速度,現在想想,他的邏輯應該是,若你可以直接在第一層詢問local DNS就拿到你要的ip位置,就可以少等待很多時間。
但換個方式來說,你的server或是你的電腦為了效率,其實也會將取得的IP做Cache,所以第二次連接相同網站速度還是無法提升時,也代表或許瓶頸並不是出現在DNS這段,對於排錯又可以多一些額外的資訊了。
今天差不多就到這裡囉,明天會聊聊託管(hoisting)
此文章同步發表於部落格