hosts文件妙用,提升网站访问速度!

一、背景
在讲解hosts文件之前,我们先了解下IP地址与域名的关系。
1、IP地址与域名的关系
IP(Internet Protocol)是一种规定互联网中数据传输的协议,每台连接到互联网中的计算机都会有一个唯一的IP地址,用于标识它在互联网上的位置。
在网络中,一个ip地址,代表一台主机。
也就是说当我们访问网站的时候,必须通过ip寻址,才能找到对应的主机。
在互联网早期,人们访问一个网站必须输入该网站所在主机的IP地址,这对于记不住IP地址的人来说是非常不方便的。
为了解决这个问题,人们开始使用域名系统(DNS)将易于记忆的域名映射到网络中的IP地址
,使得人们可以通过输入域名来访问网站,而不需要记住一长串的IP地址。
因此,域名与IP地址是一一对应的关系,通过域名可以找到对应的IP地址,从而访问相应的网站或服务器。
2、示例
当输入www.baidu.com就可以访问百度
那它对应的ip是多少呢?
我们可以ping下

我们看到有返回一个ip地址:
180.101.50.242
那我们是不是可以直接请求这个ip呢?
当然可以

二、hosts文件是什么?
hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联“ 数据库 ”。
当我们在浏览器中输入一个需要访问的域名的时候:
- 首先要看
浏览器缓存
中有没有对应的 IP 地址。 - 如果缓存中没有那就会从hosts文件中寻找对应的 IP 地址,一旦找到,系统就会立即打开对应网页
- 如果hosts文件中没有找到,则系统会将网址提交 DNS 域名解析服务器进行 IP 地址的解析。
hosts文件的作用一句话就是:
负责将主机名称映射到相应的IP地址
因为hosts转换优先于DNS解析服务器,所以我们可以通过修改hosts文件做一些很重要的事情。
三、hosts文件应用场景
1、加快域名解析
对于经常要访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系。
由于有了映射关系,当我们输入域名后,计算机就能够快速解析出 IP 地址,而不用请求网络上的 DNS 服务器。
2、构建局域网映射关系
有好多单位的系统为了安全,都在自己的局域网内使用,但由于局域网中一般很少架设DNS服务器,因此在访问这些服务器时,就需要输入难记的 IP 地址,这对用户来说并不友好。
因此,我们可以给这样主机起一个很容易记住的域名,然后在hosts文件中建立 IP 映射,这样在以后访问的时候,只要输入这个服务器的域名就可以了。
3、屏蔽网站或广告
比如我发现有个网址发现有木马,需要去屏蔽它,该如何处理?
对于这些网站我们可以利用Hosts把该网站的域名映射到错误的IP或自己计算机的IP,这样就不能访问了。
这里假设 www.baidu.com 是木马网址,我不想让我们电脑可以访问百度该如何做,很简单,在hosts添加如下配置
0.0.0.0 www.baidu.com
再去访问 www.baidu.com

显然已经无法访问了。
注意
:刚配置完屏蔽网址,去访问可能还是会正常访问的,因为浏览器中可能缓存了对应的IP,所以需要清除下浏览器缓存,或者过一会等该浏览器IP缓存失效后。
最后需要注意:
Hosts 文件配置的是静态IP
,如果服务器更新了IP地址,本地Hosts 就会失效,需要及时更新 Hosts 文件才行。
声明: 公众号如需转载该篇文章,发表文章的头部一定要 告知是转至公众号: 后端元宇宙。同时也可以问本人要markdown原稿和原图片。其它情况一律禁止转载!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2019-06-05 【分布式架构】--- 基于Redis组件的特性,实现一个分布式限流
2018-06-05 【shiro】(1)---了解权限管理