全局概念
URI名叫统一资源定位符,用于定位互联网上的资源。URL是URI的一种,一般在操作页面用URL。
- 第一步:浏览器输入URL
- 第二步:域名解析,给DNS服务器一个域名,它给你返回一个IP地址(局域网IP),DNS用来管理域名和IP的对应关系,可以理解为’键值对’。
域名解析的流程:- 浏览器缓存— 浏览器会缓存DNS记录一段时间
- 系统缓存 — 从Hosts文件查找是否有该域名和对应IP
- 路由器缓存 — 一般路由器也会缓存域名信息
- ISP DNS缓存 — 比如到电信的DNS查找缓存
- 如果都没有找到,则向根域名服务器查找对应IP,根域名服务器把请求转发到下一级,直到找到为止。
- 第三步:浏览器处理。
- 浏览器HTTP打包请求
- 创建TCP链接
- 浏览器发送请求
- 第四步:服务器处理
- Web Sever处理请求,是系统里用来处理请求的软件,web服务器用于接受用户的Request交给网站代码,用来管控和承载请求。常见的web服务器有Apache、Nginx、IIS、Lighttpd。
- 服务器响应请求,通过MVC(模型视图控制器),将HTML字符串发送给浏览器。
- 第五步:浏览器解析,当解析到link标签后,重新发送请求获取CSS,当解析到script标签后,发送请求获取JS,并执行代码,当解析到img标签后,发送请求获取图片资源。
- 第六步:绘制网页,浏览器根据HTML和CSS生成渲染树,绘制到屏幕上,而JS会生成DOM树去被执行。
- 第七步:处理页面渲染资源和异步请求。