1 域名解析
对于baidu.com的网址,浏览器需要查找baidu.com所在的服务器的ip地址,通过域名解析查看对应ip,通过域名并不能直接访问到主机,有一个域名解析的过程。
域名解析流程:
- 查找浏览器是否有缓存的DNS记录
- 查找电脑C盘的hosts文件查找是否有该域名和对应的ip地址
- 查找路由器缓存的域名信息
- 查找电信运营商的DNS缓存
- 查找向根域名服务器查找域名对应的ip,把请求转发到下一级,直到找到对应的ip
2 web服务器
常见web服务器有:Apache.Nginx、IIS、Lighttpd
web服务器把访问需求转到百度公司网站
3 网站处理流程
MVC 模型(model)-视图(view)-控制器(controller)
4 浏览器处理
Html字符串被浏览器接收后被一句句读取解析
- 解析到link标签后重新发送请求获取css
- 解析到script标签后发送请求获取js,并执行代码
- 解析到img标签后发送请求获取图片资源
绘制网页
浏览器根据Html和css计算得到渲染树,绘制到屏幕上js会被执行
百度把网站内容返回到用户,浏览器再把html字符串读取解析再进行渲染绘制在屏幕上