首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
明易
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
138
文章 136
沸点 2
赞
138
返回
|
搜索文章
最新
热门
DOM
早年的技术社区,常常用DOM来泛指浏览器中所有的API。不过今天这里我们要介绍的DOM,指的就是狭义的文档对象模型。 文档对象模型是用来描述文档,这里的文档,是特指HTML文档(也用于XML文档,但是本课不讨论XML)。同时它又是一个“对象模型”,这意味着它使用的是对象这样的概…
网络协议
首先,UDP 协议是面向无连接的,也就是说不需要在正式传递数据之前先连接起双方。 然后, UDP 协议只是数据报文的搬运工,不保证有序且不丢失的传递到对端,并且UDP 协议也没有任何控制流量的算法。 总的来说 UDP 相较于 TCP 更加的轻便。 UDP 不需要和 TCP 一样…
浏览器安全机制
XSS 简单点来说,就是攻击者想尽一切办法将可以执行的代码注入到网页中。 XSS 可以分为多种类型,但是总体上我认为分为两类:持久型和非持久型。 持久型也就是攻击的代码被服务端写入进数据库中,这种攻击危害性很大,因为如果网站访问量很大的话,就会导致大量正常访问页面的用户都受到攻…
浏览器缓存机制
缓存可以说是性能优化中简单高效的一种优化方式了,它可以显著减少网络传输所带来的损耗。 对于一个数据请求来说,可以分为发起网络请求、后端处理、浏览器响应三个步骤。浏览器缓存可以帮助我们在第一和第三步骤中优化性能。比如说直接使用缓存而不发起请求,或者发起了请求但后端存储的数据和前端…
渲染、合成、绘制
在之前的几篇文章中,我们已经经历了把URL变成字符流,把字符流变成词(token)流,把词(token)流构造成DOM树,把不含样式信息的DOM树应用CSS规则,变成包含样式信息的DOM树,并且根据样式信息,计算了每个元素的位置和大小。 那么,我们最后的步骤,就是根据这些样式信…
排版
浏览器进行到这一步,我们已经给DOM元素添加了用于展现的CSS属性,接下来,浏览器的工作就是确定每一个元素的位置了。我们的基本原则仍然不变,就是尽可能流式地处理上一步骤的输出。 在构建DOM树和计算CSS属性这两个步骤,我们的产出都是一个一个的元素,但是在排版这个步骤中,有些情…
计算CSS
前面讲了浏览器的DOM构建过程,但是这个构建的DOM,实际上信息是不全的,它只有节点和属性,不包含任何的样式信息。 我们这一节课就来讲讲:浏览器是如何把CSS规则应用到节点上,并给这棵朴素的DOM树添加上CSS属性的。 首先我们还是要感性地理解一下这个过程。 CSS规则并不是等…
构建DOM树
前面讲完了第一个阶段,也就是通讯的部分:浏览器使用HTTP协议或者HTTPS协议,向服务端请求页面的过程。 我们接着来看两个过程:如何解析请求回来的HTML代码,DOM树又是如何构建的。 下面这张图完整展示了这个过程,也是本文的线索。本文的内容仅供拓宽眼界,让你明白浏览器工程师…
网络通讯
浏览器首先要做的事就是根据URL把数据取回来,取回数据使用的是HTTP协议(实际上这个过程之前还有DNS查询,不过这里就不详细展开了。) 我先来了解下HTTP的标准。 HTTP协议是基于TCP协议出现的,对TCP协议来说,TCP协议是一条双向的通讯通道,HTTP在TCP的基础上…
浏览器实现原理概述
我们先来共同思考一下。一个浏览器到底是如何工作的。 实际上,对浏览器的实现者来说,他们做的事情,就是把一个URL变成一个屏幕上显示的网页。 合成之后,再绘制到界面上。 我们在开始详细介绍之前,要建立一个感性认识。我们从HTTP请求回来开始,这个过程并非一般想象中的一步做完再做下…
下一页
个人成就
优秀创作者
文章被点赞
1,394
文章被阅读
241,517
掘力值
6,048
关注了
69
关注者
500
收藏集
1
关注标签
20
加入于
2017-07-27