问题:在浏览器打开某个网站地址http://www.etiantian.org到回车发送请求到看到页面的过程?


我们每天都在浏览网页,但是当我们在地址栏输入某个网站的域名后,究竟后台做了哪些工作,发生了什么?一直感到疑惑,故查阅了许多相关的系统资料和网络方面的资料,本人理解总结经过了以下5个过程,写的不完整请补充,谢谢;言归正传。


1、DNS解析流程:

    第一步:查找系统本地DNS缓存和本机host文件信息,确定是否存在www.etiantian.org域名对应的IP解析记录,如果有旧直接获取IP地址,然后去访问这个IP地址对应的域名www.etiantian.com服务器。 

    第二步如果客户端本地DNS缓存以及hosts文件没有www.etiantian.org域名对应的解析记录,那么系统会把浏览器的解析请求发送给客户端本地设置的DNS服务器地址(通常称此DNS为LDNS,即local DNS),如果LDNS服务器的本地缓存有对应的解析记录就会直接返回IP地址给客户端,如果没有则LDNS会负责继续请求其他的DNS服务器。

    第三步:LDNS从DNS系统的“.”根开始对www.etiantian.org域名的解析,并针对各个层级的DNS服务器系统进行一系列的查找,最终会查找到etiantian.org域名对应的授权DNS服务器,而这个授权DNS服务器正式企业购买域名时用于管理域名解析的服务器,这个授权服务器会有该域名对应的IP解析记录。

    第四步etiantian.org域名的授权服务器会把www.etiantian.org对应的最终IP解析记录发给LDNS。

    第五步:LDNS把来自授权DNS服务器www.etiantian.org对应的IP解析记录发给浏览器,并且它会把该域名和IP的对应解析缓存起来,以便下一次更快的返回相同解析请求记录,这些缓存记录在指定时间(DNS TTL值控制)内不会过期。

    第六步:客户端获取了www.etiantian.org的对应IP地址,浏览器就会请求获得IP地址对应的网站服务器,网站服务器接收到客户的请求并响应处理(此处有可能是数百台集群服务器系统,也可能是一台云主机),将客户请求的内容返回给客户端浏览器。

到此为止,一次访问浏览网页的完整过程就完成了。。。。。。


说明:上述仅仅是客户端用户第一次访问网站的基本过程,连续访问后系统本地和LDNS层级都会有缓存记录,这样访问的速度就快了很多,其实上述整个访问流程中,包含了DNS的解析流程以及http协议的通信原理等。


1) 查看window客户端本地缓存的dns解析记录命令:

C:\>ipconfig /displaydns #显示 DNS cache内容


2)清楚windows客户端本地缓存的DNS解析记录命令:

C:\>ipconfig /flushdns #清除 DNS CACHE


3) window系统下hosts域名解析记录的位置如下:

C:\windows\system32\drivers\tec\hosts




2、TCP三次握手:

3、http请求报文

4、集群服务器响应的过程

5、监控网络状态



欢迎各位大侠帮忙补充完整.................