一、背景

在讲解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原稿和原图片。其它情况一律禁止转载!

hosts文件妙用,提升网站访问速度!的更多相关文章

  1. 使用 Nginx 提升网站访问速度

    使用 Nginx 提升网站访问速度 http://www.ibm.com/developerworks/cn/web/wa-lo-nginx/ Nginx 简介 Nginx ("engine ...

  2. Nginx——使用 Nginx 提升网站访问速度【转载+整理】

    原文地址 本文是写于 2008 年,文中提到 Nginx 不支持 Windows 操作系统,但是现在它已经支持了,此外还支持 FreeBSD,Solaris,MacOS X~ Nginx(" ...

  3. 使用 Nginx 提升网站访问速度(转)

    Nginx 简介 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Ig ...

  4. 使用PHP和GZip压缩网站JS/CSS文件加速网站访问速度

    使用PHP和GZip压缩网站JS/CSS文件加速网站访问速度 一些泛WEB 2.0网站为了追求用户体验,可能会大量使用CSS和JS文件.这就导致在服务器带宽一定的情况下,多用户并发访问速度变慢.如何加 ...

  5. Apache 使用gzip、deflate 压缩页面加快网站访问速度

    Apache 使用gzip 压缩页面加快网站访问速度 介绍: 网页压缩来进一步提升网页的浏览速度,它完全不需要任何的成本,只不过是会让您的服务器CPU占用率稍微提升一两个百分点而已或者更少.   原理 ...

  6. [技术博客]使用CDN加快网站访问速度

    [技术博客]使用CDN加快网站访问速度 2s : most users are willing to wait 10s : the limit for keeping the user's atten ...

  7. 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度。

    巧用linux服务器的/dev/shm/ 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度. 首先让我们认识一下,什么是tmpfs和/dev/shm/? ...

  8. 如何使用ping和tracert命令测试网站访问速度

    在我们平时访问的网站中,有一些网站访问速度非常快,比如百度搜索网站和一些门户网站,有些网站访问很慢,有些网站甚至无法访问.那么我们该如何判断这些网站的访问速度呢?下面我们就使用Windows的ping ...

  9. 宝塔面板Nginx开启gzip,提高网站访问速度的方法

    这篇文章主要为大家详细介绍了宝塔面板Nginx开启gzip,提高网站访问速度的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 最近有用户问小编说在宝塔面板N ...

  10. 提升Apache网站访问速度的优化方法

    Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. 在Apache服务器上怎样优化才能提高 ...

随机推荐

  1. Salesforce CPQ之后续慢慢看系列

    salesforce核心两朵云,sales & service. 针对sales的quote / quote line item的报价功能,还是相对薄弱.针对sales,报价的准确性影响着成单 ...

  2. 配置 RSTP

    实验1-5-2 配置 RSTP [实验名称] 配置 RSTP. [实验目的] 理解快速生成树协议 RSTP 的配置及原理. [背景描述] 某学校为了开展计算机教学和网络办公,建立了一个计算机教室和一个 ...

  3. 关于在vue3中使用vuex与在vue2中使用vuex的区别

    首先vue2中vuex版本是4.x以下,vue3中使用vuex需要保证vuex版本在4.x及以上. 以下说一说怎么在vue3中使用vuex,与vue2大同小异 首先在views新建一个store文件夹 ...

  4. Service Mesh之Istio部署bookinfo

    前文我们了解了service mesh.分布式服务治理和istio部署相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/17281541.html:今天我 ...

  5. [Java EE] java.net.SocketException: Connection reset【解决中】

    1 错误描述 6:44:33.112] [DEBUG] [http-nio-9527-exec-3] [HttpClientUtil] http post url:http://bdp-gateway ...

  6. [Linux]Xshell连接Centos7能Ping通但无法连接问题[ssh(d)+firewalld/iptables+chkconfig]

    一 方案与思路 0 xshell客户端监测是否能够ping通目标服务器. 前提:知晓目标服务器IP地址 Linux: ifconfig -a Windows: ipconfig -a 1 利用fire ...

  7. [数据分析与可视化] Python绘制数据地图2-GeoPandas地图可视化

    本文主要介绍GeoPandas结合matplotlib实现地图的基础可视化.GeoPandas是一个Python开源项目,旨在提供丰富而简单的地理空间数据处理接口.GeoPandas扩展了Pandas ...

  8. sms-activate操作简便易上手且好用的接码工具【保姆级教程】

    前言 有些国外应用在使用应用上的功能时需要注册账号,由于某种不可抗因素,我们的手机号一般不支持注册,接收不到信息验证码,于是我们可以使用SmS-Activate提供的服务,使用$实现我们的需求(大概一 ...

  9. Survivor

    Survivor (https://codeforces.com/group/L9GOcnr1dm/contest/422378/problem/F) 血的教训 比较有意思的一个贪心题 简单翻译一下题 ...

  10. 15-js语法检查eslint

    const { resolve } = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); modul ...