一,输入URL
二,域名解析
- 1,浏览器缓存 – 浏览器会缓存DNS记录一段时间
- 2,系统缓存 - 从 Hosts 文件查找是否有该域名和对应 IP
- 3,路由器缓存 – 一般路由器也会缓存域名信息
- 4,ISP DNS 缓存 – 比如到电信的 DNS 上查找缓存
- 5,如果都没有找到,则向根域名服务器查找域名对应 IP,根域名服务器把请求转发到下一级,知道找到 IP
三,服务器处理
服务器是一台安装系统的机器,常见的系统如Linux、windows server 2012系统里安装的处理请求的应用叫 Web server
Web server是一个统一管控的工具。结合配置文件,Web server把接收到的用户请求交给网站代码,或者接受请求反向代理到其他Web server,然后返回后才程序处理的结果。
四,网站处理
网站处理,就是实际后台处理的工作。后台开发现在有很多框架,但大部分都还是按照MVC模式进行搭建的。
首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回html字符串给浏览器
五,浏览器处理
HTML字符串被浏览器接受后被一句句读取解析:
解析到link 标签后重新发送请求获取css
解析到 script标签后发送请求获取 js,并执行代码
解析到img 标签后发送请求获取图片资源
六,绘制网页
浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上js 会被执行