乐趣区

关于前端:一个页面从输入-URL-到页面加载显示完成这个过程中都发生了什么

具体的说:

  1、浏览器会开启一个线程来解决这个申请,对 URL 分析判断如果是 http 协定就依照 Web 形式来解决;
  2、调用浏览器内核中的对应办法,比方 WebView 中的 loadUrl 办法;
  3、通过 DNS 解析获取网址的 IP 地址,设置 UA 等信息收回第二个 GET 申请;
  4、进行 HTTP 协定会话,客户端发送报头 (申请报头);
  5、进入到 web 服务器上的 Web Server,如 Apache、Tomcat、Node.JS 等服务器;
  6、进入部署好的后端利用,如 PHP、Java、JavaScript、Python 等,找到对应的申请解决;
  7、解决完结回馈报头,此处如果浏览器拜访过,缓存上有对应资源,会与服务器最初批改工夫比照,统一则返回 304;
  8、浏览器开始下载 html 文档 (响应报头,状态码 200),同时应用缓存;
  9、文档树建设,依据标记申请所需指定 MIME 类型的文件(比方 css、js), 同时设置了 cookie;
  10、页面开始渲染 DOM,JS 依据 DOM API 操作 DOM, 执行事件绑定等,页面显示实现。

简洁的说:

  浏览器依据申请的 URL 交给 DNS 域名解析,找到实在 IP,向服务器发动申请;服务器交给后盾解决实现后返回数据,浏览器接管文件(HTML、JS、CSS、图象等);浏览器对加载到的资源(HTML、JS、CSS 等)进行语法解析,建设相应的外部数据结构(如 HTML 的 DOM);载入解析到的资源文件,渲染页面,实现。
退出移动版