用户输入一个网址到页面展示内容的这段时间内,浏览器和服务器都发生了生么事情?

1 在接收到用户输入的网址后,浏览器会开启一个县城来处理这个请求,对用户输入的URL地址进行分析判断,如果是HTTP协议就按照 HTTP方式来处理。

2 调用浏览器引擎中的对应方法,比如WebView中的loadUrl方法,分析并加载这个URL地址。

3 通过DNS解析获取该网站对应的IP地址,查询完成后联同浏览器的COOKIEuserAgent等信息向网站目的IP发出GET请求。

4 进行HTTP协议会话,浏览器客户端向Web服务器发送报文。

5 进入网站后台的Web服务器处理请求,如ApacheTomcatNode.js等服务器。

6 进入部署好的后端应用,如PHPJavaJavascriptPython等后端程序,找到对应的请求处理逻辑,这期间可能会读取服务器缓存或查询数据库。

7 服务器处理请求并返回响应报文,此时如果浏览器访问过该页面,缓存上有对应的资源,会与服务器最后修改记录对比,一致则返回304,否则返回200和对应的内容。

7 浏览器开始下载HTML文档(响应报头状态码为200时)或者从本地缓存读取文件内容(浏览器缓存有效或响应报头状态码为304时)。

8 浏览器根据下载接收到的HTML文件解析结构建立DOMDocument Object Model,文档对象模型)文档树,并根据HTML中的标记请求下载指定的MIME类型文件(如CSSJavascript脚本等),同时设置缓存等内容。

9 页面开始解析渲染DOMCSS根据规则解析并结合DOM文档树进行网页内容布局和绘制渲染,Javascript提供DOM API操作 DOM,并读取浏览器缓存、执行事件绑定等,页面整个展示过程完成。

    原文作者:Just_do
    原文地址: https://segmentfault.com/a/1190000015864203
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞