Hosts文件

历史

在Internet的前身ARPANET中并没有对网络中各节点的地址使用DNS进行解析。由于当时对于这个用途并没有中心化的系统，每个网络节点都使用自有的网络节点地图，并指派相应的名称方便用户记忆，当时并没有任何系统来保证网络中的所有系统都用同样的名称表示，也没有方法来读取其他用户的hosts文件并自动复制。
ARPANET的规模较小，这样就也就允许了在很多情况使用hosts文件来命名一些事先约定的名称。其中典型的网络节点都有一个地址，并可能有多个名称。但是当个人网络不断庞大之后，对hosts文件进行管理的难度也越来越大。

格式差异

hosts文件在不同的操作系统中格式有所不同，不可直接复制使用。
例如，在Windows和macOS下，hosts文件采用的换行方式为“\r（CR）\n（LF）”，而Linux以及Android的换行方式则为“\n（LF）”，将hosts文件转换为对应平台的换行方式后才能发挥作用。

hosts文件的其它用途

hosts文件也可以用于其它情况，例如可以将已知的广告服务器重定向到无广告的机器（通常是该计算机自身的IP地址：127.0.0.1）上来过滤广告。同时也可以通过不下载网络广告，从而减少带宽。使用hosts文件还可以减少对DNS服务器的访问来加快访问速度并减少带宽消耗。
hosts文件的另一个重要用途就是用于拦截一些恶意网站的请求，从而防止访问欺诈网站或感染一些病毒或恶意软件。但同时，这个文件也可能被病毒或恶意软件所利用来阻止用户更新杀毒软件或访问特定网站。
在中国大陆，由于防火长城的DNS域名污染，有一些网民也借使用hosts文件来强制将特定网站指定到未屏蔽的IP上。但自2018年8月24日起，防火长城开始启用基于SNI检测和TCP连接重置的手段进行封锁。所以修改Hosts绕过封锁的方法，绝大多数网站不再完全适用。