发表于: 2017-04-29 10:08:01
0 945
今天完成的事情:
解决了banner轮播图左右切换控件不稳定的问题;
明天计划的事情:
有事请假;
遇到的问题:
暂无:
收获:
一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
分为 4 个步骤:
( 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 生成 CSS Rule Tree,而 javascript 又可以根据 DOM API 操作 DOM。
如何判断当前脚本运行在浏览器还是 node 环境中?
通过判断 Global 对象是否为 window,如果不为 window,当前脚本没有运行在浏览器中;
评论