在没风的地方找太阳  在你冷的地方做暖阳 人事纷纷  你总太天真  往后的余生  我只要你 往后余生  风雪是你  平淡是你  清贫也是你 荣华是你  心底温柔是你  目光所致  也是你 想带你去看晴空万里  想大声告诉你我为你着迷 往事匆匆  你总会被感动  往后的余生  我只要你 往后余生  冬雪是你  春花是你  夏雨也是你 秋黄是你  四季冷暖是你  目光所致  也是你 往后余生  风雪是你  平淡是你  清贫也是你 荣华是你  心底温柔是你  目光所致  也是你
jQuery火箭图标返回顶部代码 - 站长素材

一个页面从输入URL 到页面加载显示完成,这个过程中都发生了什么?

 详细版

    1、浏览器会开启一个线程来处理这个请求,对URL 分析判断如果是 http 协议就按照 Web 方式来处理;

    2、调用浏览器内核中的对应方法,比如 WebView 中的 loadUrl 方法;

    3、通过DNS解析获取网址的IP地址,设置 UA 等信息发出第二个GET请求;

    4、进行HTTP协议会话,客户端发送报头(请求报头);

    5、进入到web服务器上的 WebServer,如 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);

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

 

    其它:

    1:当发送一个URL请求时,不管这个URL是Web页面的URL还是Web页面上每个资源的URL,浏览器都会开启一个线程来处理这个请求,同时在远程DNS服务器上启动一个DNS查询。这能使浏览器获得请求对应的IP地址。

    2: 浏览器与远程Web服务器通过TCP三次握手协商来建立一个TCP/IP连接。该握手包括一个同步报文,一个同步-应答报文和一个应答报文,这三个报文在 浏览器和服务器之间传递。该握手首先由客户端尝试建立起通信,而后服务器应答并接受客户端的请求,最后由客户端发出该请求已经被接受的报文。

    3:一旦TCP/IP连接建立,浏览器会通过该连接向远程服务器发送HTTP的GET请求。远程服务器找到资源并使用HTTP响应返回该资源,值为200的HTTP响应状态表示一个正确的响应。

    4:此时,Web服务器提供资源服务,客户端开始下载资源。请求返回后,便进入了我们关注的前端模块。简单来说,浏览器会解析HTML生成DOM Tree,其次会根据CSS生成CSSRule Tree,而javascript又可以根据DOMAPI操作DOM

 

 

原文链接:https://www.cnblogs.com/gitbo/p/6597735.html

posted @ 2020-03-20 11:00  艺术诗人  阅读(455)  评论(0编辑  收藏  举报