1.浏览器访问域名地址时到底做了什么?
比如浏览器访问 http://192.168.1.124:8080/xxxx/xxxx.html,浏览器会解析这段输入的内容,怎么解析如下:
http 解析 协议,并启动相对应的协议,然后
192.168.1.124 IP,解析主机 一般用主机名代替,如;www.sina.com.cn
8080 解析 端口(端口把网络主机封装成socket)
当我们只在浏览器输入主机名时,如:www.sina.com.cn
此时浏览器先去公网上找一台域名解析服务器(DNS),在DNS上通过一张 主机-ip映射表,找到ip地址
DNS将ip返回给浏览器,浏览器(客户机)再向此ip的对应端口发请求
DNS服务器自己可配
不配置,则电信宽带默认走电信的DNS(谁离我近,我走谁的DNS),我电信宽带配联通的DNS也可以,我配美国的DNS也可以(会请求超时)
那么请求localhost时,并没有请求公网的DNS,因为127.0.0.1(本机),这个ip的映射 存在于C:\Windows\System32\drivers\etc 的hosts文件中
所以说,浏览器请求时先从本地找,再去公网找
2.C:\Windows\System32\drivers\etc 的hosts文件中 手动配了新浪的IP-主机映射 假设:12.13.14.15 www.sina.com.cn
此时当浏览器访问www.sina.com.cn时,不在先请求公网的DNS,直接请求12.13.14.15(理论上速度会变快), 当然浏览器直接访问ip最快
3.部分软件更新时,会向官网发信息(证书信息)比如向www.eclipse.org,我在 hosts中配了 127.0.0.1 www.eclipse.org 那么就无法 向官网发信息了