一、背景

在讲解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. 记一次winfrom 面板改变背景图片

    this.panel1.BackgroundImage = Image.FromFile(@"D:\TestDemo\WindowsFormsApp2\WindowsFormsApp2\黑箭 ...

  2. Java面试——开源框架知识

    一.简单讲讲 Tomcat结构,以及其类加载器流程,线程模型等 [1]模块组成结构:Tomcat 的核心组件就 Connector 和 Container,一个Connector+一个Containe ...

  3. Java面试——写一个生产者与消费者

    更多内容,前往个人博客 一.通过synchronize 中的 wait 和 notify 实现 [1]我们可以将生产者和消费者需要的方法写在公共类中 1 package com.yintong.con ...

  4. 怎么用ChatGPT写代码,ChatGPT怎么改代码修BUG

    ChatGPT 是一个自然语言处理模型,可以模拟人类语言生成文本,可以用于写代码和修复bug.在本文中,我们将介绍如何使用 ChatGPT 写代码和修bug. 怎么用ChatGPT写代码? 虽然 Ch ...

  5. python协程详细解释以及例子

    目录 1.协程 1.1greenlet实现协程 1.2yield关键字实现协程 1.3使用asyncio模块实现协程 1.4async & await关键字实现协程 2.协程意义 3.异步编程 ...

  6. 鼎捷ERP二维码整体解决方案 Tiptop GP条码管理系统 鼎捷ERP移动解决方案 鼎捷条码扫描 鼎捷WMS仓库移动扫码 鼎捷安卓PDA扫码方案 Tiptop 出入库盘点出货条码扫码 提供源码

    本人在ERP实施公司做顾问四五年,参与企业实施ERP十多个项目,非常熟悉企业ERP流程,在实施过程遇到众多问题,提出了不少根据企业具体情况的解决方案. 最近定制开发了一套适合企业的条码扫码平台,基于鼎 ...

  7. 垃圾回收之G1收集过程

    G1 中提供了 Young GC.Mixed GC 两种垃圾回收模式,这两种垃圾回收模式,都是 Stop The World(STW) 的. G1 没有 fullGC 概念,需要 fullGC 时,调 ...

  8. TypeScript 学习笔记 — 自定义类型:部分属性可选,反选 key,求对象交差并补集等(十三)

    目录 将部分属性变为可选属性 根据值的类型 反选 key 写法一:基础原理写法,使用不同的内置类型,Pick 和 Omit 写法二:基础原理写法,使用 Pick 内置类型 + 传参的方式 写法三:使用 ...

  9. python入门教程之二十四Python MySQL - mysql-connector 驱动

    MySQL 是最流行的关系型数据库管理系统,如果你不熟悉 MySQL,可以阅读我们的 MySQL 教程. 本章节我们为大家介绍使用 mysql-connector 来连接使用 MySQL, mysql ...

  10. 快速重拾 Tmux

    Tmux 是一个 Linux (Mac OS也支持)下的终端复用器,相较于 Screen 更为强大,但快捷键和操作逻辑也更复杂,一段时间不用,就很容易忘记相关的命令和快捷键.本文旨在通过一个简单的场景 ...