代码改变世界

HTTPS:让数据传输更安全

2020-02-02 11:58 by GarfieldEr007, 212 阅读, 0 推荐, 收藏, 编辑
摘要:浏览器安全主要划分为三大块内容:页面安全、系统安全和网络安全。前面我们用四篇文章介绍了页面安全和系统安全,也聊了浏览器和 Web 开发者是如何应对各种类型的攻击,本文是我们专栏的最后一篇,我们就接着来聊聊网络安全协议 HTTPS。 我们先从 HTTP 的明文传输的特性讲起,在上一个模块的三篇文章中我 阅读全文

沙盒:页面和系统之间的隔离墙

2020-02-02 11:56 by GarfieldEr007, 354 阅读, 0 推荐, 收藏, 编辑
摘要:从稳定性视角来看,单进程架构的浏览器是不稳定的,因为只要浏览器进程中的任意一个功能出现异常都有可能影响到整个浏览器,如页面卡死、浏览器崩溃等。不过浏览器的稳定性并不是本文讨论的重点,我们今天主要聊的是浏览器架构是如何影响到操作系统安全的 浏览器本身的漏洞是单进程浏览器的一个主要问题,如果浏览器被曝出 阅读全文

CSRF攻击:陌生链接不要随便点

2020-02-02 11:54 by GarfieldEr007, 445 阅读, 0 推荐, 收藏, 编辑
摘要:中我们讲到了 XSS 攻击,XSS 的攻击方式是黑客往用户的页面中注入恶意脚本,然后再通过恶意脚本将用户页面的数据上传到黑客的服务器上,最后黑客再利用这些数据进行一些恶意操作。XSS 攻击能够带来很大的破坏性,不过另外一种类型的攻击也不容忽视,它就是我们今天要聊的 CSRF 攻击。 相信你经常能听到 阅读全文

跨站脚本攻击XSS:为什么cookie中有httpOnly属性

2020-02-02 11:53 by GarfieldEr007, 660 阅读, 0 推荐, 收藏, 编辑
摘要:通过上篇文章的介绍,我们知道了同源策略可以隔离各个站点之间的 DOM 交互、页面数据和网络通信,虽然严格的同源策略会带来更多的安全,但是也束缚了 Web。这就需要在安全和自由之间找到一个平衡点,所以我们默认页面中可以引用任意第三方资源,然后又引入 CSP 策略来加以限制;默认 XMLHttpRequ 阅读全文

同源策略:为什么XMLHttpRequst不能跨域请求资源

2020-02-02 11:51 by GarfieldEr007, 224 阅读, 0 推荐, 收藏, 编辑
摘要:通过前面 6 个模块的介绍,我们已经大致知道浏览器是怎么工作的了,也了解这种工作方式对前端产生了什么样的影响。在这个过程中,我们还穿插介绍了一些浏览器安全相关的内容,不过都比较散,所以最后的 5 篇文章,我们就来系统地介绍下浏览器安全相关的内容。 浏览器安全可以分为三大块——Web 页面安全、浏览器 阅读全文

HTTP2:如何提升网络速度

2020-02-02 11:50 by GarfieldEr007, 533 阅读, 0 推荐, 收藏, 编辑
摘要:上一篇文章我们聊了 HTTP/1.1 的发展史,虽然 HTTP/1.1 已经做了大量的优化,但是依然存在很多性能瓶颈,依然不能满足我们日益变化的新需求,所以就有了我们今天要聊的 HTTP/2。 本文我们依然从需求的层面来谈,先分析 HTTP/1.1 存在哪些问题,然后再来分析 HTTP/2 是如何解 阅读全文

DOM树:JavaScript是如何影响DOM树构建的

2020-02-02 11:49 by GarfieldEr007, 533 阅读, 1 推荐, 收藏, 编辑
摘要:在上一篇文章中,我们通过开发者工具中的网络面板,介绍了网络请求过程的几种性能指标以及对页面加载的影响。 而在渲染流水线中,后面的步骤都直接或者间接地依赖于 DOM 结构,所以本文我们就继续沿着网络数据流路径来介绍 DOM 树是怎么生成的。然后再基于 DOM 树的解析流程介绍两块内容:第一个是在解析过 阅读全文

页面性能分析:利用chrome做web性能分析

2020-02-02 11:48 by GarfieldEr007, 589 阅读, 0 推荐, 收藏, 编辑
摘要:在上一篇文章中,我们通过开发者工具中的网络面板,介绍了网络请求过程的几种性能指标以及对页面加载的影响。 而在渲染流水线中,后面的步骤都直接或者间接地依赖于 DOM 结构,所以本文我们就继续沿着网络数据流路径来介绍 DOM 树是怎么生成的。然后再基于 DOM 树的解析流程介绍两块内容:第一个是在解析过 阅读全文

this:从JavaScript执行上下文视角讲this

2020-02-02 11:45 by GarfieldEr007, 206 阅读, 0 推荐, 收藏, 编辑
摘要:在上篇文章中,我们讲了词法作用域、作用域链以及闭包,并在最后思考题中留了下面这样一段代码 var bar = { myName:"time.geekbang.com", printName: function () { console.log(myName) } } function foo() { 阅读全文

作用域链和闭包:代码中出现相同的变量,JavaScript引擎如何选择

2020-02-02 11:43 by GarfieldEr007, 264 阅读, 0 推荐, 收藏, 编辑
摘要:理解作用域链是理解闭包的基础,而闭包在 JavaScript 中几乎无处不在,同时作用域和作用域链还是所有编程语言的基础。所以,如果你想学透一门语言,作用域和作用域链一定是绕不开的 那今天我们就来聊聊什么是作用域链,并通过作用域链再来讲讲什么是闭包。 首先我们来看下面这段代码: function b 阅读全文
上一页 1 2 3 4 5 6 ··· 111 下一页