大家日常上網(wǎng)的時候,瀏覽網(wǎng)頁的本質(zhì)就是你從目標服務(wù)器上獲取到了一個html網(wǎng)頁文件而已,然后瀏覽器進行渲染。訪問網(wǎng)站的域名,首先瀏覽器是進行了域名解析(pythonav.cn --> 123.206.16.61),瀏覽器直接訪問pythonav.cn,其實是被解析成了123.206.16.61:80/index.html
瀏覽網(wǎng)頁的原理就是 1、通過互聯(lián)網(wǎng)找到對方的機器 2、然后從對方的機器中,找出對應(yīng)的文件,下載到本地來 3、通過瀏覽器進行渲染這樣的數(shù)據(jù)
域名和ip的關(guān)系
我們使用電話簿,將電話號碼轉(zhuǎn)化成了名字,因為名字更容易記住,電話不容易記住。域名是更容易被人們記住的字符串 ip地址比較隱晦,難以記住,因此,出現(xiàn)了各大互聯(lián)網(wǎng)公司,企業(yè),定制了dns服務(wù)器,在一個linux服務(wù)器上,安裝了dns的服務(wù)端軟件,提供了一個超大的電話簿,key-value類型的數(shù)據(jù)庫,記錄了域名與ip地址的對應(yīng)關(guān)系
比如說 阿里 223.5.5.5 223.6.6.6 騰訊 119.29.29.29 114 114.114.114.114 谷歌 8.8.8.8 分別都提供了dns服務(wù)器地址,如上的dns服務(wù)器地址,存放了大量的域名的解析記錄 通過nslookup命令查看域名的解析關(guān)系,也可以直接使用ping命令查看關(guān)系 比如你電腦上網(wǎng)特別慢,使用某個網(wǎng)絡(luò)優(yōu)化工具,自動選擇最優(yōu)dns
通過nslookup命令查看域名的解析關(guān)系
1、該命令需要單獨安裝 需要單獨安裝dns的套件軟件包 yum install bind-utils -y
2、使用nslookup命令(name server look up,域名服務(wù)器查找) 非交互式:nslookup www.baidu.com 交互式:nslookup,再輸入想要查詢的網(wǎng)站 指定dns服務(wù)器地址:nslookup www.baidu.com 223.5.5.5
linux的dns配置文件
1、linux的本地dns解析文件,/etc/hosts文件中,這個文件是運維人員自由定義域名和ip強制解析關(guān)系的 vim /etc/hosts 寫入如下數(shù)據(jù) 127.0.0.1 www.pythonav.cn ping www.pythonav.cn 解析到了127.0.0.1,因此可以證明hosts文件的解析優(yōu)先級是高于dns客戶端配置文件
2、/etc/resolv.conf,該文件填入的是互聯(lián)網(wǎng)dns服務(wù)器的地址 里面有兩個dns服務(wù)器地址,一個主服務(wù)器,一個備用的服務(wù)器。如果注釋掉,就無法進行域名解析了 文件中定義了域名服務(wù)器地址,填入公網(wǎng)的dns服務(wù)器地址即可 nameserver 114.114.114.114 nameserver 223.5.5.5
/etc/hosts文件 --> 自己本地的電話簿 /etc/resolv.conf --> 填寫dns服務(wù)器地址的配置文件 --> 指定一個專門做電話號碼收集的公司(比如阿里云的dns服務(wù)器,收集了世界上所有的域名與ip的對應(yīng)關(guān)系)
為什么qq能進行聊天,但是瀏覽器無法上網(wǎng)? qq進行聊天不需要進行dns解析,域名解析的過程,只要電腦可以正常上網(wǎng)即可,但是dns服務(wù)器有問題,就無法進行解析域名,就無法上網(wǎng)