Javascript 解压缩客户端浏览器中的内容

Javascript 解压缩客户端浏览器中的内容,javascript,performance,client-side,Javascript,Performance,Client Side,我很想知道,通过在单个压缩文件中发送不同类型的内容,然后在客户端浏览器上解压缩,并将内容(图像、css、js)放在应该放的地方,可以减少服务器上的http请求 我在某个地方读到firefox正在计划在未来的版本中提供这些功能,但还没有完成,而且它也不是一个标准版本 你们有什么建议吗?Flash可以用来解压客户端的压缩文件以备日后使用吗 谢谢在我明白你的问题之前,我已经读了你的问题好几遍了。听起来你想基本上把网站的所有元素合并成一个可下载的文件 我相当自信地说,我认为这是不可能的,也不可取的 首先

我很想知道,通过在单个压缩文件中发送不同类型的内容,然后在客户端浏览器上解压缩,并将内容(图像、css、js)放在应该放的地方,可以减少服务器上的http请求

我在某个地方读到firefox正在计划在未来的版本中提供这些功能,但还没有完成,而且它也不是一个标准版本

你们有什么建议吗?Flash可以用来解压客户端的压缩文件以备日后使用吗


谢谢

在我明白你的问题之前,我已经读了你的问题好几遍了。听起来你想基本上把网站的所有元素合并成一个可下载的文件

我相当自信地说,我认为这是不可能的,也不可取的

首先,您声明您听说Firefox可能支持此功能。我没有听说过,但是即使他们听说了,你如何在支持其他浏览器的情况下使用这个功能呢

但是,即使您能够做到这一点,您也将其标记为“性能调优”,理由是您将节省一些http请求。但是,在您努力保存http请求以加快速度的过程中,您需要小心,不要以减慢速度告终

合并所有文件可能会使您减少到一个http请求,但您的站点可能会加载得较慢,因为在任何文件准备好显示之前,整个内容都需要加载(与正常页面加载不同,在正常页面加载中,页面加载可能需要时间,但至少部分页面可能会很快准备好显示)

您现在可以做的是,将样式表合并到单个CSS中,将脚本合并到单个JS文件中,将相关图像组合并到单个图像文件中(有关此技术的更多信息,请通过google获得)

即使这样,您也需要小心组合哪些文件——练习的重点是减少http请求,因此您需要利用缓存,否则最终会使事情变得更糟而不是更好。浏览器只能在多个页面上缓存相同的文件,因此您应该只合并在页面加载之间不会更改的文件。例如,只合并站点上所有页面中使用的Javascript文件


我的最后一点意见是重复我已经说过的话:小心过度优化,最终会导致事情进展缓慢。

在我理解你的问题之前,我已经读了好几遍了。听起来你想基本上把网站的所有元素合并成一个可下载的文件

我相当自信地说,我认为这是不可能的,也不可取的

首先,您声明您听说Firefox可能支持此功能。我没有听说过,但是即使他们听说了,你如何在支持其他浏览器的情况下使用这个功能呢

但是,即使您能够做到这一点,您也将其标记为“性能调优”,理由是您将节省一些http请求。但是,在您努力保存http请求以加快速度的过程中,您需要小心,不要以减慢速度告终

合并所有文件可能会使您减少到一个http请求,但您的站点可能会加载得较慢,因为在任何文件准备好显示之前,整个内容都需要加载(与正常页面加载不同,在正常页面加载中,页面加载可能需要时间,但至少部分页面可能会很快准备好显示)

您现在可以做的是,将样式表合并到单个CSS中,将脚本合并到单个JS文件中,将相关图像组合并到单个图像文件中(有关此技术的更多信息,请通过google获得)

即使这样,您也需要小心组合哪些文件——练习的重点是减少http请求,因此您需要利用缓存,否则最终会使事情变得更糟而不是更好。浏览器只能在多个页面上缓存相同的文件,因此您应该只合并在页面加载之间不会更改的文件。例如,只合并站点上所有页面中使用的Javascript文件


我的最后一点意见是重申我已经说过的话:小心过度优化,最终会让事情变慢。

我们或多或少做了您在我们的网站上描述的事情,我们对响应时间非常满意

原始文件都是分离的(HTML、CSS、JS、图像),我们在此基础上开发。
然后,在进入生产阶段时,我们有一个shell脚本:

  • 使用YUI压缩程序压缩CSS和JS
  • 读取所有图像并将其转换为
    数据:image/png;base64,…
  • 所有空格和注释都将从HTML中删除
  • 所有这些资源都内嵌在HTML中
页面大小约为300kb,通常是缓存的。
服务器对其进行gzip处理,然后在网络上传输的实际大小会降低。
我们不使用任何额外的压缩


然后还有第二个调用来获取数据(我们使用JSON),并开始在客户端呈现数据。

我们或多或少地做了您在我们的web中描述的事情,我们对响应时间非常满意

原始文件都是分离的(HTML、CSS、JS、图像),我们在此基础上开发。
然后,在进入生产阶段时,我们有一个shell脚本:

  • 使用YUI压缩程序压缩CSS和JS
  • 读取所有图像并将其转换为
    数据:image/png;base64,…
  • 所有空格和注释都将从HTML中删除
  • 所有这些资源都内嵌在HTML中
页面大小约为300kb,通常会被缓存。
服务器对其进行gzip处理,则网络中的实际大小会降低。