localhost是一个域名,127.0.0.1为IP地址。Windows系统中,约定127.0.0.1为本地IP地址。localhost是其对应的域名。配置是在hosts文件中设置的,Windows下该文件位置为:C:\Windows\System32\drivers\etc目录下hosts文件。

hosts文件

那么这个hosts文件的作用是什么呢?其是它是一个没有扩展名的系统文件,可以用记事本等工具打开,作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
Hosts文件配置的映射是静态的,如果网络上的计算机更改了需要及时更新IP地址,否则将不能访问。
众所周知,一次完成的HTTP请求过程可以分为以下几步:

  • 首先在浏览器中输入网址
  • 浏览器根据域名解析IP地址
  • 浏览器根据解析的IP地址与web服务器建立一个TCP连接
  • 浏览器给服务器发送HTTP请求
  • 服务器的永久重定向响应
  • 浏览器跟踪重定向地址
  • 服务器处理请求
  • 服务器发回一个HTTP响应
  • 释放TCP连接
  • 客户端浏览器解析HTML内容

其中的第二步就和上面提到的hosts文件有很重要的联系。浏览器访问网站,要首先通过DNS服务器把要访问的网站域名解析成一个唯一的IP地址,之后,浏览器才能对此网站进行定位并且访问其数据。
在引入DNS(Domain Name System,域名系统)之前,网络中的主机是将容易记忆的域名映射到IP地址并将它保存在一个共享的静态文件hosts中,再由hosts文件来实现网络中域名的管理。最初Internet非常小,仅使用这个集中管理的文件就可以通过FTP为连入Internet的站点和主机提供域名的发布和下载。每个Internet站点将定期地更新其主机文件的副本,并且发布主机文件的更新版本来反映网络的变化。
但是,当Internet上的计算机迅速增加时,通过一个中心授权机构为所有Internet主机管理一个主机文件的工作将无法进行。文件会随着时间的推移而增大,这样按当前和更新的形式维持文件以及将文件分配至所有站点将变得非常困难,甚至无法完成,于是才有了DNS服务器。
操作系统规定,在进行DNS请求以前,先检查自己的Hosts文件中是否有这个域名和IP的映射关系。如果有,则直接访问这个IP地址指定的网络位置,如果没有,再向已知的DNS服务器提出域名解析请求。也就是说Hosts的IP解析优先级比DNS要高。

hosts文件的作用:

  • 加快域名解析
  • 方便局域网用户
    一般局域网很少假设DNS服务器,访问这些服务器时,就需要输入难记的IP地址,这相当麻烦。(在golang实现跨域访问一文中,之所以ajax请求本地搭建的服务器时,需要输入http://127.0.0.1:8000/ajax,而不是http://localhost:8000/ajax,就是因为自己的hosts文件中没有配置相关IP信息。
  • 屏蔽网站
    对于一些弹窗类的垃圾网站,我们可以利用Hosts把该网站的域名映射到错误的IP或本地计算机的IP,这样就不用访问了。在WINDOWS系统中,约定 0.0.0.0是错误的IP地址。
  • 顺利连接系统
    一些数据库服务器,在访问时如果直接输入IP地址是不能访问的,只能输入服务器名才能访问。那么我们配置好Hosts文件,这样输入服务器名就能顺利连接了。
  • 虚拟域名
    很多时候,网站建设者需要把”软环境“搭建好,再进行上传调试。但类似于邮件服务,则需要使用域名来辅助调试,这时就可以将本地 IP 地址与一个”虚拟域名“做地址指向,就可以达到要求的效果。如:127.0.0.1 网站域名

设置域名时注意:IP地址前面的“#”号需要去掉,例如下面的hosts文件,192.30.255.113的IP地址前面没有“#”。

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost192.30.255.113  github.com

hosts文件详解--localhost和127.0.0.1相关推荐

  1. centos永久修改主机名以及etc/hosts文件详解

    目录 1 在CentOS7中,有三种定义的主机名 2 查看主机名 3 修改主机名 3.1 方法1:临时有效 3.2 方法2:永久生效 4 注意事项 5 etc/hosts文件详解 1 在CentOS7 ...

  2. Android模拟器修改hosts文件详解

    Android模拟器修改hosts文件详解 前言 在开发中遇到这样需求,需要在hosts文件中将某个网址域名与其对应的IP地址建立一个关联,比如关联这样一个ip: 123.45.67.89 www.u ...

  3. Linux下hosts文件详解

    1.主机名: 无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号. 公网:IP地址不方便记忆,所以又有了域名.域名只是在公网( ...

  4. Linux 下hosts文件详解

    1.主机名: 无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号. 公网:IP地址不方便记忆,所以又有了域名.域名只是在公网( ...

  5. linux文件目录:/etc/hosts文件详解

    这里的/etc/hosts作用同Windows下的hosts文件,Windows中host文件的目录一般为:C:\Windows\System32\drivers\etc\hosts. 一.概念 ho ...

  6. Hibernate配置文件与映射文件详解

    Hibernate是一个彻底的ORM(Object Relational Mapping,对象关系映射)开源框架. 我们先看一下官方文档所给出的,Hibernate 体系结构的高层视图: 其中PO=P ...

  7. linux中etc下的hosts(本地IP解析)文件详解

    linux中etc下的hosts(本地IP解析)文件详解 1./etc/hosts(本地解析) 很多人一提到更改hostname首先就想到修改/etc/hosts文件, 认为hostname的配置文件 ...

  8. 附005.Docker Compose文件详解

    一 Docker Compose文件简介 compose文件使用yml格式,主要分为了四个区域: version:用于指定当前docker-compose.yml语法遵循哪个版本 services:服 ...

  9. Redis配置文件redis.conf文件详解

    Redis配置文件redis.conf文件详解 唠嗑 这里面的意思只要看得差不多其实就是已经对redis有熟悉的感觉,就比如 推塔已经推到别人家的大门~~~~~~~~废话不多说直接开始了 知道大家都不 ...

最新文章

  1. python入门之函数调用内置函数_第九篇 python基础之函数,递归,内置函数
  2. ProxySQL 故障
  3. no module named 'social_core'
  4. linux 只有命令指示,Linux命令行翻页?
  5. Verify an App Store Transaction Receipt 【苹果服务端 验证一个应用程序商店交易收据有效性】...
  6. c语言编程中的幂函数如何编写,c语言幂函数_C语言循环与递归实现整数幂函数...
  7. php选课系统参考文献,学生选课系统参考文献
  8. COMSOL:案列应用实操教学---光电
  9. 玩客云 装java_玩客云内置 eMMC 存储刷入 armbian
  10. 如何快速将小写字母转变为大写
  11. 图论专题1(网络流)
  12. 制图综合,制图综合的影响因素?
  13. 鼎信诺虚拟服务器导数,鼎信诺使用手册--自编版.docx
  14. mysql limit sql注入_LIMIT子句中的盲 SQL注入漏洞利用
  15. Python中complex复数类型的简单介绍
  16. c#连接西门子plc
  17. 织梦php实现评论,织梦文章评论功能的使用
  18. 简述汇编语言中的标号有什么规定_汇编语言期末复习题
  19. vue实现消息badge 标记_Badge 标记
  20. ssh框架可以使用Ajax,基于Ajax的SSH框架的应用研究

热门文章

  1. Bootstrap浏览器兼容性
  2. Scala class和case class的区别
  3. jis计算机基础知识讲课,计算机基础知识——中文输入法教学教案.ppt
  4. SEO优化,外链重要还是友情链接重要?
  5. 并发编程:进程+线程+协程
  6. 我们的时间去了哪里?
  7. 水泥混凝土摊铺机对于建设中模具的调整和效率的均衡
  8. 领悟《信号与系统》之 信号与系统的描述-上节
  9. 文本域 自定义下拉框 支持模糊检索 关键字高亮 上下选择
  10. 送书 | 知乎阅读300w+的生信学习指南(更新版)