从URL输入到页面展现

前言:当我们在浏览器中输入www.baidu.com,然后到页面展示完全,这一过程发生了什么?
第一步.在浏览器中输入URL:www.baidu.com 注:

URL:统一资源定位符; 协议:http,https(加密的http),file(定位本地的资源),ftp;

第二步.域名解析 注:
域名:baidu.com 就是域名;IP:每个处于互联网中的设备都有IP地址,形如:192.168.0.1;127.0.0.1代表本机;

域名解析的流程:
1.先从浏览器缓存中查找 - 浏览器会缓存DNS记录一段时间 2.然后系统缓存 - 从Hosts文件查找是否有该域名和对应IP 3.然后路由器缓存 - 一般路由器也会缓存域名信息 4.然后ISP DNS缓存 - 比如到电信的DNS上查找缓存(服务商) 5.如果都没有找到,则向根域名服务器查找域名对应IP,根域名服务器把请求转发到下一级,直到找到IP。

第三步.服务器处理 注:
服务器是一台安装系统的机器,常见的系统如Linux,windows server 2012,系统里安装的处理请求的应用叫Web server。Web服务器:常见的web服务器有Apache,Nginx,IIS,Lighttpd。web服务器接收用户的Request交给网站代码,或者接受请求反向代理到其他web服务器。

第四步.网站处理流程
MVC模型:model,view,controller在后端处理好请求后会将HTML发到浏览器。

第五步.浏览器处理
HTML字符串被浏览器接受后被一句句读取解析, 解析到link标签后重新发送请求获取css, 解析到script标签后发送请求获取js,并执行代码, 解析到img标签后发送请求获取图片资源。

第六步.绘制网页
浏览器根据HTML和CSS计算得到渲染树,绘制到屏幕上,js会被执行。

【从URL输入到页面展现】最后网页就完全显示出来了。

    推荐阅读