第八期

公众号同步

为什么要用多个域名来存储资源

我们通过浏览器来展示信息,需要侧重关注两个点:快速、安全。

  • CDN缓存更方便。

  • 突破浏览器并发限制。

  • Cookieless, 节省带宽,尤其是上行带宽 一般比下行要慢。

  • 对于UGC的内容和主站隔离,防止不必要的安全问题。

    正是这个原因要求用户内容的域名必须不是自己主站的子域名,而是一个完全独立的第三方域名。

  • 数据做了划分,甚至切到了不同的物理集群,通过子域名来分流比较省事. 这个可能被用的不多。

delete和Vue.delete删除数组的区别

delete只是被删除的元素变成了 empty/undefined 其他的元素的键值还是不变。
Vue.delete 直接删除了数组 改变了数组的键值。

如何优化SPA应用的首屏加载速度慢的问题?

在解答这个问题之前需要考虑的是为什么会出现首屏加载慢,我们可以从如下几个方面考虑:网络问题、资源体积问题。 解决这种问题有两种策略:

一种是“避”,通过loading来过渡。

一种是“攻”,分析并提出优化方法;不考虑网络的原因,加载过慢可以从两方面优化,一方面是通过压缩来减小体积;另一方面我们可以通过“按需加载”来优化,比如在利用import来代替require等等。

如何避免option请求

option出现原因是浏览器发出来非简单请求,才会触发预检。比如请求方法是PUT或DELETE,或者Content-Type字段的类型是application/json。

浏览器先询问服务器,当前网页所在的域名是否在服务器的许可名单之中,以及可以使用哪些HTTP动词和头信息字段。只有得到肯定答复,浏览器才会发出正式的XMLHttpRequest请求,否则就报错。

要想避免option有两种方案:

一种是缓存预检信息,通过Access-Control-Max-Age:(number)来设置缓存时效,再下一次请求时,就会减少option请求。

另一种是把非简单请求改变成简单请求,从根本上解决option的出现,比如修改Content-Type字段。

相邻的两个inline-block节点为什么会出现间隔,该如何解决

这个问题是已知问题,网络讨论也很多。 常用的解决办法是:

1、使用margin负值

2、使用font-size

3、使用letter-spacing

4、使用word-spacing

等等