从输入百度到展现发生了什么
1.用户终端键入百度域名
用户通过浏览器键入 baidu.com
2.域名解析
以下1-5 为查找优先级
1.查找浏览器dns
2.查找系统缓存。从hosts文件中查找是否有对应ip
3.查找路由器缓存
4.isp dns缓存
5.到根域名查找对应ip,根域名(com顶级域名)进行ip查找。
6.找到ip后 通过ip地址找到对应服务器,将用户发起的http请求发给服务器
3.服务器请求处理
当服务器上的web server接收到http请求后,会结合配置文件,把不同请求委托给服务器上处,对应请求的程序进行处理(例如请求首页的js。则由管理首页js的程序进行响应等)
处理过程参考如下图()
即控制器(control)首先接受请求夹带的信息,然后决定由哪个子程序的哪个模型(Model)进行处理,待模型处理完之后,用相应的视图化格式返回html字符串给浏览器,并呈现给用户
4.浏览器处理
浏览器将从服务器上接收到的信息进行解读,自上而下的对整个html文件进行加载、解析(DOM、CSS、JS)遇到外链部分会直接代开对应链接地址并下载到本地(例如:某个网站引用百度静态资源库(CDN),假设引用http://apps.bdimg.com/libs/vue/1.0.14/vue.js,则浏览器在解析当前网站时会直接将引用的对应文件下载至本地。)最后,浏览器会对已经下载的内容进行渲染,并最后呈现到用户手中。