人们要浏览一个网页一般只要三个步骤:1.打开浏览器 ,2.输入域名(URL),3.敲下回车 。一个页面就展现在你面前,然而在这过程中到底发生了些什么呢?大致可以分成以下几个过程。
- 用户打开浏览器输入URL地址,
URL(统一资源定位符)URI(统一资源标识符),URL一般用于定位资源在互联网中的位置,而URI则是标识资源。URL是URI的子集。
- DNS域名解析
客户端输入域名,因为浏览器是不会识别需要通过DNS域名解析服务得到该域名的IP后返回给客户端。具体流程:
浏览器缓存 – 浏览器会缓存DNS记录一段时间
系统缓存 - 从 Hosts 文件查找是否有该域名和对应 IP。
路由器缓存 – 一般路由器也会缓存域名信息。
ISP DNS 缓存 – 比如到电信的 DNS 上查找缓存。
如果都没有找到,则向根域名服务器查找域名对应 IP,根域名服务器把请求转发到下一级,直到找到 IP。
- 服务器接收端处理
对HTTP请求内容进行处理后交给网站代码
-
网站处理历程
5 .浏览器处理
HTML字符串被浏览器接受后被一句句读取解析。
解析到link 标签后重新发送请求获取css。
解析到 script标签后发送请求获取 js,并执行代码。
解析到img 标签后发送请求获取图片资源。
6 . 绘制网页
浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上
js 会被执行