小编mag*_*nta的帖子

你可以在SSL上使用gzip吗?和连接:Keep-Alive标题

我在这里评估安全(SSL)Web应用程序的前端性能,我想知道是否可以通过SSL压缩文本文件(html/css/javascript).我已经做了一些谷歌搜索,但没有找到任何与SSL特别相关的内容.如果可能的话,因为响应也被加密,它是否值得额外的CPU周期?压缩响应会影响性能吗?

此外,我想确保我们保持SSL连接活着,所以我们不会一遍又一遍地进行SSL握手.我没有在响应标头中看到Connection:Keep-Alive.我确实看到Keep-Alive:115在请求标题中,但这只是保持连接活动115毫秒(似乎应用服务器在处理单个请求后关闭连接?)您不希望服务器设置只要会话不活动超时,响应头是什么?

我知道浏览器不会将SSL内容缓存到磁盘,所以即使没有任何变化,我们也会在后续访问中反复提供相同的文件.主要的优化建议是减少http请求的数量,缩小,将脚本移动到底部,图像优化,可能的域分片(尽管需要权衡另一个SSL握手的成本),这种性质的东西.

compression ssl https gzip

33
推荐指数
4
解决办法
3万
查看次数

有条件地加载javascript(外部和内部)并保持执行顺序

我正在寻找一种方法来有条件地加载并保持一些javascript文件(外部和内部)的执行顺序,而不依赖于任何库.基本上,我想要做的只是在浏览器支持localStorage时才加载它们.

这基本上是我的shell:

if (window.localStorage) {
//load up JS only if it's needed
    var body = document.getElementsByTagName('body')[0],
        js1 = document.createElement('script'),
        js2 = document.createElement('script'),
        js3 = document.createElement('script'),
        js4 = document.createElement('script'),
        js5 = document.createElement('script');

    js1.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js';
    js2.src = 'http://www.google.com/jsapi';
    js3.src = 'my_file1.js';
    js4.src = 'my_file2.js';
    js5.src = 'my_file3.js';

    body.appendChild(js1);
    body.appendChild(js2);
    body.appendChild(js3);
    body.appendChild(js4);
    body.appendChild(js5);
} else { 
    //no localStorage support, display messaging
}
Run Code Online (Sandbox Code Playgroud)

我尝试通过createElement/body.appendChild动态添加脚本节点,但这些似乎不起作用.

有没有一种简单的方法来实现这一目标?现在一切正常,但IE6和IE7人们下载的脚本甚至没有执行,这就是我想要解决的问题.

javascript lazy-loading loading local-storage

3
推荐指数
1
解决办法
8002
查看次数