一、.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
五、域名级跨域解决办法
如果是一级域名相同,不同二级域名(与 IP 无关),且端口一致,那么解决办法很简单,只需要在涉及到的页面都加上一句
document.domain = 'test.com';//test.com为一级域名
还有一种解决办法,是使用父子域名。比如 test.test.com,其子域名可为 *.test.test.com。这样就不需要加上面的代码,但这样存在几个问题,子域名可以使用父域名的东西,但是父域名不能获取子域名的东西,也就是说从父页面是无法操作子页面的。
举例:
- “.com”是顶级域名(一级域名);
- “aliyun.com”是主域名(二级域名);
- “example.aliyun.com”是子域名(三级域名);
- “www.example.aliyun.com”是子域名的子域(四级域名)。
为什么要设置子域名
1、 因为一个主域名可以设置出不同的子域名,所以能够便于用户将不同的子域名应用到不同的业务中。
例如主域名是 aliyun.com,开发者则可以设置子域名 api.aliyun.com 为接口业务使用,子域名 pay.aliyun.com 为支付系统使用。
2、 实现访问者按照用户指定的子域名进行访问。
例如主域名是 aliyun.com,开发者设置子域名为 www.aliyun.com和aliyun.com 后, 访问者输入这两个域名时就可以实现访问。
具体申请方式参考于:blog.csdn.net/weixin_4478…