在浏览器上输入地址,经过短暂的等待,页面就呈现了出来。这看似很简单,其实中间经历了很多的步骤,都是自动完成的。下面就来科普一下中间的处理步骤。
一、URL解析
URL有很多种,但我们一般浏览网页使用的都是HTTP协议。浏览器会从网址中得知我们按照HTTP协议请求了资源,并将地址上交。
二、DNS解析
URL只是一个方便记忆的内容,真正的网址是由一串数字组成(IP)。本地有一个HOSTS文件(位置为 \System32\drivers\etc),里面可以添加一些解析地址。浏览器会先检查缓存,再查看hosts,如果都没有相关数据则会向DNS服务器发送查询请求。进过ARP(路由器)或TCP/UDP请求(DNS服务器)查询之后,浏览器获得了目标IP的地址。
三、建立连接
接下来通过函数库socket和MAC地址组成一个封装包。封装包经过几个网络节点最终达到目标服务器。这个过程当中服务端和客户端会相互发送很多次信息(三次握手)来确保文件发送正确。之后进行TLS(安全传输层协议)握手,表明双方的加密算法和压缩算法。接下来双方发送确认信息并生成密钥,并最终开始传输HTTP内容。
四、HTTP协议
浏览器向服务器发送请求头,包括数据方式、版本号、域名等信息。解析好HTML之后,浏览器重复上面过程陆续将所有其他资源下载到本地。
五、显示
在获取到所有文件之后,浏览器会开始解析获得的文件。HTML文档控制网站的主题内容,CSS控制样式,JS控制动态内容。浏览器按照HTML、CSS、渲染进行解析(中间还需要GPU帮忙),并最终形成基本页面。在完成后,浏览器进行最后一步渲染,读取JS和插件。在最后一次渲染完成后,完成的页面就显示出来了。
我们拥有国内顶级的设计、技术团队和多年互联网软件开发经验。