电脑系统Hosts文件原理和应用分享

2025-05-23 02:50

本文主要是介绍电脑系统Hosts文件原理和应用分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应...

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则http://www.chinasem.cn系统会再将网址提交DNS域名解析服务器进行IP地址的解析。Hosts 的请求级别比 DNS 高。

修改hosts文件

接下来关键问题就是如何修改hosts文件,hosts文件存放目录:

常用的各平台 hosts 文件位置

hosts文件在不同操作系统中的位置如下表所示:

Windows:%SystemRoot%\System32\drivers\etc\hosts

Android:/etc/hosts(指向/system/etc/hosts的符号链接)

IOS/etc/hosts(指向/private/etc/hosts的符号链接)

MAC OS X 10.0–10.1.5:通过NetInfo或niload设置

Mac OS X 10.2和更新版本:/etc/hosts(指向/private/etc/hosts的符号链接)

Unix、类Unix系统(例如Linux等):/etc/hosts

Windows Mobile、Windows Phone:注册表项HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts

Symbian OS 6.1–9.0:C:\system\data\hosts

Symbian OS 9.1+:C:\private\10000882\hosts

上面是比较常见的系统了,如果你用其他的系统,我相信你能查到它的位置…

编辑修改以上目录下的hosts文件。目前实现方式有许多形式,最直接的就是使用文件管理器将获取的hosts文件覆盖系统的hosts文件。

Hosts文件格式

127.0.0.1 localhost
127.0.0.1 www.baidu.com
192.168.1.1 test.com

域名解析流程

电脑系统Hosts文件原理和应用分享

域名解析流程

Hosts具体作用

1、虚拟域名

很多时候,网站建设者需要把”软环境“搭建好,再进行上传调试。但类似于邮件服务,则需要使用域名来辅助调试,这时就可以将本地 IP 地址与一个”虚拟域名“做地址指向,就可以达到要求的效果,且无需花费。

如:
127.0.0.1 www.jb51.com 之后在浏览器地址栏中输入对应的网站域名即可。

2、加快域名解析

对于要经常访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系,提高域名解析速度,当我们输入域名计算机就能China编程很快解析出IP,而不用请求网络上的DNS服务器。

3、屏蔽网站(域名重定向)

有很多网站不经过用户同意就将各种各样的插件安装到你的计算机中,其中有些说不定就是木马或病毒。对于这些网站我们可以利用Hosts把该网站的域名映射到错误的IP或本地计算机的IP,这样就不用访问了。在Windows系统中,约定 127.0.0.1 为本地计算机的IP地址, 0.0.0.0是错误的IP地址。

如果,我们在Hosts中,写入以下内容:

127.0.0.1 # 要屏蔽的网站 A

0.0.0.0 # 要屏蔽的网站 B

如:

127.0.0.1 www.hao123.com
127.0.0.1 www.baidu.com

这样,计算机解析域http://www.chinasem.cn名A和 B时,就解析到本机IP或错误的IP,达到了屏蔽网站A 和B的目的。

4、方便局域网用户

在很多单位的局域网中,会有服务器提供给用户使用。但由于局域网中一般很少架设DNS服务器,访问这些服务器时,要输入难记的IP地址。这对不少人来说相当麻烦。可以分别给这些服务器取个容易记住的名字,然后在Hosts中建立IP映射,这样以后访问的时候,只要输入这个服务器的名字就行了。

5、顺利连接系统

对于Lotus的服务器和一些数据库服务器,在访问时如果直接输入IP地址那是不能访问的,只能输入服务器名才能访问。那么我们配置好Hosts文件,这样输入服务器名就能顺利连接了。

5、强制域名解析指定IP

比如一些网站有很多的服务器ip,有些ip可能被和谐了,那么我们可以在hosts文件里添加我们想要javascript的ip跟域名。

如:

# Periscope Start
13.124.246.138	pscp.tv
13.124.203.13  	www.pscp.tv
52.39.74.21 	        channels.pscp.tv
54.200.114.148	proxs编程China编程ee.pscp.tv
54.192.73.58	        assets.pscp.tv
54.192.73.58    	prod-profile.pscp.tv
54.192.73.58            prod-thumbnail.pscp.tv
151.101.2.164  	prod-video-ap-northeast-1.pscp.tv
151.101.2.164  	prod-video-ap-southeast-1.pscp.tv
151.101.66.164	prod-video-ap-southeast-2.pscp.tv
151.101.66.164	prod-video-eu-central-1.pscp.tv
151.101.130.164	prod-video-us-east-1.pscp.tv
151.101.194.164	prod-video-sa-east-1.pscp.tv
151.101.194.164	prod-video-us-west-2.pscp.tv
151.101.78.164	prod-video-us-west-1.pscp.tv
151.101.78.164	prod-video-eu-west-1.pscp.tv
18.194.108.2    	prod-chatman-ancillary-eu-central-1.pscp.tv
34.233.63.45    	prod-chatman-ancillary-us-east-1.pscp.tv
35.160.28.174   	prod-chatman-ancillary-us-west-2.pscp.tv
# Periscope End

修改 hosts 后不生效怎么解决?

无论是手工修改 hosts 还是使用软件来修改,很多人都会遇到修改 hosts 后不生效的情况。其实,这一般是由于 DNS 缓存的原因导致的。

因为系统为了加快用户打开网站的速度,在首次访问网站成功之后,会把 DNS 解析的结果暂时性地保存在本地缓存 (称为 DNS 缓存) 里一小段时间,如果浏览器在“这段时间里”再次打开同一个网址,则会自动从 DNS 缓存里取出结果,而不会请求远程的 DNS 服务器,也不会查询 hosts 文件,从而节省时间提高打开速度。因此用户会遇到有时修改了 hosts 文件但并不生效的情况,一般这时候我们想办法清空 (刷新) 一下系统的 DNS 缓存即可。

怎样清空 DNS 缓存?

  • 在 Windows 下命令行执行:ipconfig /flushdns
  • 在 macOS 下执行命令:sudo killall -HUP mDNSResponder
  • 如果你使用 Chrome 浏览器,那么可以访问:chrome://net-internals/#dns,然后点击「Clear host cache」按钮来清空浏览器里的 DNS 缓存。

如果这样还不生效,那么只能再试试重启电脑了,一般都OK了。要这样还是不行,可能就是你的 hosts 写错了。

这篇关于电脑系统Hosts文件原理和应用分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1154735

相关文章

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

Python中yield的用法和实际应用示例

《Python中yield的用法和实际应用示例》在Python中,yield关键字主要用于生成器函数(generatorfunctions)中,其目的是使函数能够像迭代器一样工作,即可以被遍历,但不会... 目录python中yield的用法详解一、引言二、yield的基本用法1、yield与生成器2、yi

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.