在浏览器输入www.baidu.com的时候,究竟发生了什么?

我们都知道在浏览器输入www.baidu.com的时候会打开百度的页面,但是实际情况下我们都是使用ip地址进行通信的,那为什么输入www.baidu.com等价于百度的ip地址呢?

一、DNS

DNS全称叫做Domain Name Server,域名服务器。它的作用就是将域名与ip进行映射,因为我们被分配到的ip一般都是没有规律,并且并不方便人类记忆,所以使用dns就可以简化ip,便于人类记忆。假设百度的ip地址是183.240.98.198,这显然不能马上记下来,但如果记baidu.com,你相信一下子就记下来了。

二、如何知道DNS对应的ip

文章一开始就说过了,我们真实的网络通信都是利用ip进行的,最终访问www.baidu.com还是用ip进行访问的。那我们怎么知道www.baidu.com对应的ip是多少呢?这就涉及到DNS域名查询了。

什么是host?host就是一个人为规定的指定域名和ip的设置关系。例如我们知道localhost域名是等价于回环地址127.0.0.1的,其实是因为这个域名默认被写到了host里面,如果我们只要修改host的默认对应规则,就可以让其访问不同的地址。

当你的电脑输入www.baidu.com的时候,计算机先会去本地的DNS缓存查询是否有对应,再看看host是否存在对应项,如果没有的话就先查询dns缓存是否有对应项;dns缓存也没有的话就会去请求dns服务器获取,默认不手动配置dns服务器的话dns服务器是指向网关进行查询,查询端口是#53,使用的是UDP查询

与计算机查询域名解析一样,网关在收到dns请求的时候会先查询网关的host,如果没有记录就再取查询自身的dns缓存,如果没有的话才会再往上查询dns记录,默认如果不设置dns服务器地址的话会向运营商dns服务器进行一层一层的递归查询,最后获得了域名对应的ip记录,并且缓存到本地dns存储,再递归返回给查询主机。

计算机获得域名的ip地址后就可以通过ip来访问对应z服务了

三、查询dns记录命令

使用nslookup+域名 可以查询对应域名的解析记录

四、DNS污染

有时候你可能会遇见前几分钟华科仪访问,后几分钟又不能访问的现象,这种问题叫做DNS污染,造成这种问题的原因有两个:

有时候重启电脑或者网络就可以解决

可能是域名对应的ip地址发生了变更,但是本地的DNS缓存还未更新,所以导致了本地的DNS查询返回了一个失效的地址,因此无法访问。

解决方法:很简单,使用命令清除本地DNS缓存即可,浏览器的话就按Ctrl+Shift+Del键清除缓存

解决方法:换用别的DNS服务器即可。


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇