浏览器渲染篇|一个网络请求是如何发出到页面呈现的(开篇)

162 阅读2分钟

这是我参与8月更文挑战的第14天,活动详情查看:8月更文挑战

一、写在前面

作为前端开发程序员,我们日常开发中打交道最多的软件,除了VS Code就是Chrome了吧?哈哈,当然这个不绝对,除了代码编辑器,就是浏览器了。

我们使用浏览器来查看所写的HTML及CSS是否生效,使用console及断点来调试js代码,使用network面板,来查看一些网络资源与接口的请求结果,那么你知道浏览器是如何将一个网络请求发出的吗?下面我来带你简单了解一下。

二、正文

我们直接打开掘金的首页,然后打开控制台network面板,可以看到如下的一些接口请求。这里面有HTML文件、js文件、css文件、图片资源文件,还有一些没有截到的一些网络请求字体文件等。

除了这些文件,我们还能够看到这些请求的请求状态,比如200成功、301重定向、403访问被拒绝、404找不到等等信息,以及一些请求头请求体、响应头响应体、文件大小、请求耗时等信息。

image.png

浏览器请求到第一个文件也就是juejin.cn这个document的文件的时候,浏览器就会开始尝试加载他了,当这个页面加载css及js或者图片文件时,浏览器也就对相应的文件发起了新的请求。

回到我们的问题上来,浏览器是如何发出的这些网络请求呢?

其实在我们输入一个网站之后,点击回车的那一刻,浏览器就开始了网络请求,主要流程分为如下几步:

  1. DNS域名解析:根据域名找到对应的服务器ip地址
  2. 浏览器与服务器建立起TCP链接
  3. 浏览器发起http请求;服务器返回相应请求资源,即首次请求的页面的HTML文件
  4. 浏览器解析HTML文件,并请求解析到的js文件、css文件、图片资源等文件
  5. 浏览器整合好这些信息,最终渲染到页面上

三、总结

今天我们主要了解了浏览器是如何将网络请求发出的,以及一个请求页面的网络请求发出后,到页面呈现中间大致的一个过程有哪些,相信看完这个文章你应该对这一过程有了初步的认识,后面我再和大家一起深入学习每一步的过程。

前端漫漫长途,我们都在路上,希望可以和小伙伴们一起交流,一起进步。持续更新ing.....