host和映射

253 阅读4分钟

一、.IP地址与域名的关系

1. 简介:

负责将主机名称映射到相应的IP地址:使用域名系统(DNS)将易于记忆的域名映射到网络中的IP地址,使得人们可以通过输入域名来访问网站,而不需要记住一长串的IP地址 简要如下:输入url的时候,DNS域名解析服务器会对域名进行解析,解析成对应ip

2. 流程

从浏览器缓存中查找——>本地hosts文件查找——>本地DNS缓存——>本地DNS服务器查找,如果本地DNS服务器没找到,开始迭代查询 -->域名查找:本地DNS服务器递归查询。本地DNS服务器与根域,子域之间的查询方式是迭代查询。

3. 示例
  当输入http://www.baidu.com就可以访问百度,当ping www.baidu.com,可以看到对应的具体ip地址

二、hosts文件应用场景

1 “加快”域名解析

对于经常要访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系。由于有了映射关系,当我们输入域名后,计算机就能够快速解析出 IP 地址,而不用请求网络上的 DNS 服务器。

2. 构建局域网映射关系

有好多单位的系统为了安全,都在自己的局域网内使用,但由于局域网中一般很少架设DNS服务器,因此在访问这些服务器时,就需要输入难记的 IP 地址,这对用户来说并不友好。因此,我们可以给这样主机起一个很容易记住的域名,然后在hosts文件中建立 IP 映射,这样在以后访问的时候,只要输入这个服务器的域名就可以了。

3. 屏蔽网站或广告(域名重定向)

比如我发现有个网址发现有木马,需要去屏蔽它,该如何处理? 对于这些网站我们可以利用Hosts把该网站的域名映射到错误的IP或自己计算机的IP,这样就不能访问了。

   这里假设 http://www.baidu.com 是木马网址,我不想让我们电脑可以访问百度该如何做,很简单,在hosts添加如下配置
    0.0.0.0 www.baidu.com
  再去访问 http://www.baidu.com,请缓存之后,发现会访问不到*

===》最后需要注意: Hosts 文件配置的是静态IP,如果服务器更新了IP地址,本地Hosts 就会失效,需要及时更新 Hosts 文件才行。

三、一个ip地址访问多个域名

简介:多个域名解析到同个ip地址,一个域名对应一个网站,相当于一台网站空间上部署了多个网站,我们在访问一个网站时,输入域名就能访问到网站,是因为已经将域名解析到网站空间对应的ip地址,然后根据ip地址对应的网站空间进行访问。

四、安装过程

1.mac中查询、修改hosts:

   尝尝经过Vi编辑器查询、修改查询:打开终端-运行:sudo vi /etc/hosts修改:
   i进入修改模式、
   esc键退出修改模式
   :wq 回车键保存退出
   注意:host文件在mac中的地址是/private/etc,在window中文件位置只C://Window/system32/deivers/etc

2.下载SwitchHosts

五、域名级跨域解决办法

image.png 如果是一级域名相同,不同二级域名(与 IP 无关),且端口一致,那么解决办法很简单,只需要在涉及到的页面都加上一句

document.domain = 'test.com';//test.com为一级域名

  还有一种解决办法,是使用父子域名。比如 test.test.com,其子域名可为 *.test.test.com。这样就不需要加上面的代码,但这样存在几个问题,子域名可以使用父域名的东西,但是父域名不能获取子域名的东西,也就是说从父页面是无法操作子页面的。

image.png 举例:

为什么要设置子域名

1、 因为一个主域名可以设置出不同的子域名,所以能够便于用户将不同的子域名应用到不同的业务中。

例如主域名是 aliyun.com,开发者则可以设置子域名 api.aliyun.com 为接口业务使用,子域名 pay.aliyun.com 为支付系统使用。

2、 实现访问者按照用户指定的子域名进行访问。

例如主域名是 aliyun.com,开发者设置子域名为 www.aliyun.com和aliyun.com 后, 访问者输入这两个域名时就可以实现访问。

具体申请方式参考于:blog.csdn.net/weixin_4478…