域名解析过程及hosts文件的作用
文章目录
- 域名解析
- 背景
- 概念
- 域名与IP的关系
- hosts文件介绍
- 域名解析的流程
- 不同系统hosts文件的位置
- 修改hosts
- hosts文件的主要作用
来源: https://blog.csdn.net/
域名解析
背景
人们习惯记忆域名(如www.baidu.com),但机器间互相只认IP地址
。所以才有了域名解析。
概念
域名转换为IP的过程
称为域名解析
,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。
域名与IP的关系
域名与IP地址
之间是多对一
的关系,即一个ip地址可以有多个域名,但一个域名只可以对应一个ip地址。如果对一个域名进行解析时,解析出多个IP地址,那将无法判断到底是访问哪台网络服务器。
浏览器输入IP地址是直接从对应服务器上调用内容,输入域名是通过域名解析服务器指向对应的主机的IP地址,再调用服务器网站的内容。
hosts文件介绍
Hosts是一个没有扩展名的系统文件
,是用来做域名和ip地址的映射
的。
在WINDOWS系统中,约定 127.0.0.1
为本地计算机的IP地址,
0.0.0.0是错误的IP地址。
域名解析的流程
当用户在浏览器中输入一个网址时(域名),系统会首先自动从Hosts文件中寻找对应的IP地址,
一旦找到,系统会立即打开对应网页,
如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。(实际上在访问过程中走的是映射后的地址,但是浏览器依然显示的域名地址)
注意:
在域名解析的时候只能解析到服务器的ip地址,不能具体指定到某一个端口
可以通过其他的技术来实现访问指定端口的功能,如:nginx的反向代理。
详情参考: https://blog.csdn.net/weixin_56775476/article/details/118492498
不同系统hosts文件的位置
Windows
系统hosts位于 C:\Windows\System32\drivers\etc\hosts
Android(安卓)系统hosts位于 /etc/hosts
Mac(苹果电脑)系统hosts位于 /etc/hosts
iPhone(iOS)系统hosts位于 /etc/hosts
Linux系统hosts位于 /etc/hosts
绝大多数Unix系统都是在 /etc/hosts
修改hosts
注意若是应用在docker内,需在docker内修改
hosts文件的主要作用
1、加快域名解析
对于要经常访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系,提高域名解析速度。由于有了映射关系,当我们输入域名计算机就能很快解析出IP,而不用请求网络上的DNS服务器。
2、方便局域网用户
在很多单位的局域网中,会有服务器提供给用户使用。但由于局域网中一般很少架设DNS服务器,访问这些服务器时,要输入难记的IP地址。可以分别给这些服务器取个容易记住的名字,然后在Hosts中建立IP映射,这样以后访问的时候,只要输入这个服务器的名字就行了。
3、屏蔽网站(域名重定向)
有很多网站不经过用户同意就将各种各样的插件安装到你的计算机中,其中有些说不定就是木马或病毒。对于这些网站我们可以利用Hosts把该网站的域名映射到错误的IP或本地计算机的IP,这样就不用访问了。在WINDOWS系统中,约定 127.0.0.1 为本地计算机的IP地址, 0.0.0.0是错误的IP地址。
如果,我们要屏蔽百度,只需在Hosts中,写入以下内容:
127.0.0.1 www.baidu.com 或者 0.0.0.0 www.baidu.com
CSDN-Ada助手: 哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)提升标题与正文的相关性。
CSDN-Ada助手: 哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)提升标题与正文的相关性;(2)使用更多的站内链接。
qq_44933721: get请求有body不符合规范
CSDN-Ada助手: Python 中如何进行条件判断和循环语句?
普通网友: 优质好文,细节很到位!【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】