• 蓝配鸡
    2019-09-12
    如何高效学习安全理论

    1. why, 知道为什么有这个安全机制, 历史是什么样的

    2. how,知道why之后自己先想想怎么解决这个问题, 再去看看别人是怎么解决的, 分析利弊

    3. 学完之后自己上手试试

    4. 拉个你身边最蠢的小伙伴把这件事给他说明白
    展开

    作者回复: 很赞,学安全一定要知道why,知道why才知道how!

    等到了我们专栏的安全篇时,这套理论再结合实践就完美了。

     3
     11
  • レイン小雨
    2019-09-14
    老师后面能详细的讲一下浏览器同源策略的具体实现吗?作为前端最基本的常识性知识却总是感觉理解的不够深入,开始我以为是跨域的请求是被浏览器“拦截在了门内”----即请求没有发送出去,但是看了很多文章中说,其实跨域的请求是发送出去了,服务器也接收到了并响应了,而是在返回的时候被浏览器“拦截在门外”,还有人说,不同的浏览器实现也不一样,很是困惑这里,希望老师能给一个确定的答案。
     5
     7
  • Geek_d972f2
    2019-09-13
    建立tcp连接是在xhr open还是send?

    作者回复: open方法仅仅是配置数据,没有任何真实的连接产生,所有连接阶段都是在send之后

    
     5
  • yihang
    2019-09-12
    请教老师,我看到 es6中可以通过一个 fetch api来请求,它的实现是用了 xmlHttpRequest么?如果不是,原理上有什么不同?

    作者回复: fetch采用了promise来封装,在使用方式上更强现代化,同时还原生支持async/await。在chromium中,fetch是完全重新实现的,和xmlhttprequest没有什么关系!

    在项目中推荐使用fetch

    
     3
  • bobi
    2019-09-12
    老师,什么时候专门讲微任务?

    作者回复: 后面三节

    微任务
    Promise
    async/await

    
     3
  • mfist
    2019-09-12
    作为一名前端开发工程师,要如何高效地学习前端web安全理论呢?
    作为web工程师可以稍微把自己领域知识向后端扩展一些,这样理解web问题、网络传输问题会
    更加得心应手。比如说前端浏览器因为跨域block,后端到底有没有处理请求;XSS 漏洞 以及CSRF
    漏洞如果能前后端一起模拟一下,会更容易理解的。

    今日总结
    xmlhttprequest是为了解决网页局部数据刷新产生的技术。通过同步回调和异步回调以及系统调用栈来引出了
    xmlhttprequest运行机制。一个xhr主要包含下面四个步骤:1. 创建xmlhttprequest对象;2. 为xhr对象
    注册回调函数(ontimeout、onerror、onreadystatechange);3. 打开请求(xhr.open('GET', url,true))4. 配置基础的请求信息(timeout/responseType/setRequestHeader);5. 发送请求。xhr中场景的坑(
    跨域和混合内容)
    展开

    作者回复: 通过这些实践理解安全问题是个好方法,最好还要搞清楚为什么有这种或者那种的安全问题,这样我们对安全问题就会融会贯通。

    
     3
  • 淡
    2019-09-17
    老师你好,我有以下几个疑问:
    1.渲染进程里的主线程while循环空转,为啥不会造成系统卡死?我们自己code里空while死循环会造成卡死
    2.就是网络进程IPC给渲染进程时,渲染进程收到消息。这里的”消息“具体包含哪些内容啊?
    谢谢。
    
     2
  • oc7
    2019-09-12
    异步回调的第二种方式 把异步函数添加到微任务队列中 具体是哪些WebAPI呢? Promise.then?

    作者回复: Promise的resolve和reject会创建微任务。

    还有MutationObserver,如果监听了某个节点,那么通过DOMAPI修改这些被监听的节点也会产生微任务。

    
     2
  • imperial
    2019-10-24
    老师,异步函数的调用不应该有三种方式吗,可以放到队列尾,微任务中,也可以放入延迟队列中,为什么不放入延迟队列中呢

    作者回复: 延时队列中的任务包含JS通过定时器设置的回调函数、还有一些浏览器内部的延时回调函数。 它们属于宏任务!

    另外正常的消息队列中的任务也属于宏任务!

    所以通常我说放入消息队列就是指放入了宏任务队列(包括了延时队列或者正常的消息队列)

    因为分开来描述会有点啰嗦!

    
     1
  • l1shu
    2019-10-22
    为什么有些文章说渲染进程中有一个定时器线程用来计时的 到时间后会把回调函数塞到消息队列 而没有提到延迟队列这个说法 求老师解答
    
     1
  • Geek_177f82
    2019-09-16
    有个疑惑,就是使用setTimeout执行任务时会把任务添加到延迟消息队列,但是在函数中使用setTimeout就是异步回调。而异步回调函数有两种方式:1, 放入微任务处理;2,放入消息队列处理。这样以来就有点迷糊了。那使用setTimeout执行的任务到底应该放哪里执行。还是依据执行环境分别处理。希望老师解答疑惑。谢谢🙏!
     3
     1
  • Hurry
    2019-09-14
    IPC是什么

    作者回复: 进程间通信,比如浏览器进程需要网络进程下载数据,浏览器进程就是通过IPC告诉网络进程需要下载哪些数据,网络进程接收到之后才会开启下载流程

    
     1
  • 朱维娜🍍
    2019-09-12
    想知道 延时任务是不是一种微任务啊

    作者回复: 不是,宏任务,定时器产生的任务都会保存到延时队列中

    
     1
  • -_-_aaa
    2019-12-06
    HTTPS下加载http资源会提示‘mixed content’,ajax请求‘been blocked’。那么在http下加载https资源和发送协议是https的ajax请求,会都挂掉吗?
     1
    
  • 海之蓝心
    2019-12-05
    老师,只有XMLHttpRequest 这种异步请求会出现的跨域问题吗,同步的请求也会吧?
     1
    
  • 双
    2019-11-06
    老师,您好,有个疑惑想请教一下:
    如果当前js执行过程中产生了异步回调,回调函数被封装成任务添加在消息队列末尾,正在执行的任务结束后(当前的js代码),拉取消息队列中的回调函数进行执行,这时候的执行环境是什么呢,之前的js执行上下文已经消失了???
    
    
  • 韦一
    2019-10-11
    1,了解web安全历史,通过历史了解到都暴露出了哪些安全问题,然后他们是怎么解决的。
    2,研究为什么会有这些安全问题,深究原因,才能更好理解解决方案。
    
    
  • AICC
    2019-09-23
    老师什么时候出一个web安全的专栏啊,好想系统性的学学
    
    
  • Lx
    2019-09-18
    之前看别的文章说浏览器有网络进程,而在渲染进程中除了js引擎线程,gui线程,定时器线程,异步请求线程,事件触发线程。我不太懂,异步请求线程和网络进程的功能边界是什么?
    
    
  • summerrr
    2019-09-15
    老师,为什么xhr请求的回调是放在消息队列里面,而我们用axios这种http库发出的请求最后回调是放在微任务里面啊,虽然axios里面用到了promise,promise的回调是微任务,可是axios说到底还是对原生xhr的封装啊。
    
    
我们在线,来聊聊吧