【使用浏览器来探索万维网】
有一天你在网上冲浪,看见了一个新闻网页,里面说有一个博客十分受欢迎,于是想要去浏览一下这个博客,于是你点击了这个新闻页面中的http://www.fanzhiwen.com,这是一个超链接。

我们知道万维网是一个资料空间,在这里有很多有用的东西,也就是“资源”,这些资源都由那么一个全域“统一资源定位符URL”来标识。上面的那个超链接中的文本(http://www.fanzhiwen.com)就是一个URL,超链接属于万维网所使用的超文本标记语言(HTML),你点击这个超链接,浏览器就会通过这个超链接分析连接指向页面的URL,点击超链接这部分属于HTML干的事情。

然后你点击完,就表示你想要访问这个URL的资源,然后根据URL中的HTTP协议,你的浏览器会向DNS请求解析www.fanzhiwen.com的IP地址

那么其实上面的URL,HTTP和HTML是万维网的内核部分。
(1)URL:负责标识万维网上的各种文档,并使每个文档在整个万维网的范围内具有惟一的标识符URL。万维网就像一个仓库,URL就是仓库中货物的编号,比如3楼B区121柜5层79号(3-B-121-5-79)。
(2)HTTP:这是一个应用层的协议,你打开一般浏览器在地址栏中输入地址若不输入协议名称会默认使用http协议。http使用TCP连接进行可靠地传输,HTTP是万维网客户程序和服务器程序之间交互所必须严格遵守的协议。
每个万维网站点都有一个服务器进程,你像我的博客www.fanzhiwen.com就是部署在阿里云服务器上的一个站点,服务器会给这个站点分配一个进程不断地监听TCP的80端口(站点的默认端口号就是80端口,也就是http协议所使用的端口,你每次访问这个站点,若不在站点后面加上端口号,自动默认的就是访问80端口)。若是收到了浏览器发来的访问请求,便和浏览器建立起TCP连接,然后根据HTTP协议中的格式和规则,服务器和浏览器进行交互。

【域名解析】
当你想要访问我的博客www.fanzhiwen.com时,你的计算机开始向本地域名服务器发送请求,希望能够解析这个域名。若是你曾访问过我的博客,那么你的本地域名服务器中可能有这个域名对应的IP地址缓存,那么他会很快的解析出来,但假如你是第一次访问www.fanzhiwen.com,那么你的本地域名服务器不知道这个域名所对应的IP地址,他会首先向根域名服务器请求帮助。

【域名解析——递归和迭代】
若是你的主机采用递归的方式向本地域名服务器进行查询,那么你的本地服务器会向根域名服务器发出查询请求,然后根域名服务器查完该域名的顶级域名是com后(根域名服务器知道所有顶级域名服务器地址)又去com所属的域名服务器进行查询,然后com顶级域名服务器查询出了fanzhiwen这个二级域名(可自己定义,全球唯一)所在的权限域名服务器,然后再向这个权限域名服务器发送查询请求,最后这个权限域名服务器查出来了IP地址,返回给顶级域名服务器,然后顶级域名服务器返回给根域名服务器,根域名服务器返回给本地域名服务器,本地域名服务器就帮你解析了。
若是你的主机采用递归的方式向本地域名服务器进行查询,那么你的本地服务器会向根域名服务器发出查询请求,然后根域名服务器查完后会告诉你的本地域名服务器接下里该去找哪个顶级域名服务器问,然后本地找到了顶级,顶级查完告诉本地该去找哪个权限问,最后权限告诉本地IP地址,完成解析。