从浏览器地址栏输入url到显示页面的步骤

原标题:从浏览器地址栏输入url到显示页面的步骤

当您在浏览器地址栏输入 URL 并按下回车键时,浏览器将启动一个过程。

网络版本

1.DNS 解析:浏览器会检查 URL 中的域名并将其发送到 DNS 服务器以获取与该域名相对应的 IP 地址。

2.建立 TCP 连接:一旦 DNS 解析完成,浏览器将与该 IP 地址建立 TCP 连接。

3.发送 HTTP 请求:一旦 TCP 连接建立,浏览器将向服务器发送 HTTP 请求。请求消息中包含请求方法 (如 GET 或 POST)、URL 和任何请求头。

4.接收响应并处理:一旦服务器收到请求,它将发送 HTTP 响应。响应消息包含状态码、响应头和响应体。浏览器将接收响应并处理它。

5.渲染页面:一旦浏览器收到响应并解析它,它将使用 HTML、CSS 和 Java 等语言解析页面并渲染出来。浏览器将下载和执行页面上所有的资源,如图片、样式表和脚本,以呈现出完整的页面。

6.关闭连接:最后,一旦浏览器完成渲染页面,它将关闭与服务器的连接。

这些步骤的顺序和细节可能会因浏览器和服务器的具体情况而有所不同。

基础版本

1.浏览器根据请求的URL交给DNS域名解析,找到真实IP,向服务器发起请求;

2.服务器交给后台处理完成后返回数据,浏览器接收文件(HTML、JS、CSS、图象等);

3.浏览器对加载到的资源(HTML、JS、CSS等)进行语法解析,建立相应的内部数据结构(如HTML的DOM);

4.载入解析到的资源文件,渲染页面,完成。

详细简版

1.从浏览器接收url到开启网络请求线程(这一部分可以展开浏览器的机制以及进程与线程之间的关系)

2.开启网络线程到发出一个完整的HTTP请求(这一部分涉及到dns查询,TCP/IP请求,五层因特网协议栈等知识)

3.l从服务器接收到请求到对应后台接收到请求(这一部分可能涉及到负载均衡,安全拦截以及后台内部的处理等等)

4.后台和前台的HTTP交互(这一部分包括HTTP头部、响应码、报文结构、cookie等知识,可以提下静态资源的cookie优化,以及编码解码,如gzip压缩等)

5.单独拎出来的缓存问题,HTTP的缓存(这部分包括http缓存头部,ETagcatch-control等)

6.浏览器接收到HTTP数据包后的解析流程(解析html-词法分析然后解析成dom树、解析css生成css规则树、合并成render树,然后layoutpainting渲染、复合图层的合成、GPU绘制、外链资源的处理、loadedDOMContentLoaded等)

7.CSS的可视化格式模型(元素的渲染规则,如包含块,控制框,BFCIFC等概念)

8.JS引擎解析过程(JS的解释阶段,预处理阶段,执行阶段生成执行上下文,VO,作用域链、回收机制等等)

9.其它(可以拓展不同的知识模块,如跨域,web安全,hybrid模式等等内容)返回搜狐,查看更多

责任编辑:

平台声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
阅读 ()
大家都在看
推荐阅读