热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在使用HTTP/2时,缩小和连接JS/CSS文件以及使用精灵图像仍能提供性能优势吗?

如何解决《在使用HTTP/2时,缩小和连接JS/CSS文件以及使用精灵图像仍能提供性能优势吗?》经验,为你挑选了1个好方法。

使用新的HTTP/2协议,重复HTTP请求到同一服务器所产生的开销已大大减少.

考虑到这一点,缩小和连接Javascript/CSS文件以及将图像组合成精灵还有任何显着的性能优势吗?或者,当使用HTTP/2时,这些做法是否不再有用?



1> 小智..:

它们仍然有用.HTTP/2减少了其中一些做法的影响,但并未消除其影响.

缩小仍然像以前一样有用.尽管HTTP/2为消息头引入了新的压缩,但这与缩小(与消息体无关)无关.消息体的压缩算法是相同的,因此缩小可以节省与以前一样多的带宽.

连接和精灵的影响比以前更小,但它们仍会产生一些影响.与下载,而不是与HTTP/1,单个文件的多个文件最大的问题是不实际的HTTP端问题,本身:有在单独请求每个文件中的一些基于带宽的开销,但它是由基于时间的相形见绌完成一个文件后拆除TCP/IP会话的开销,然后为下一个文件启动一个新文件,并为要下载的每个文件重复此操作.

HTTP/2的最大焦点是消除基于时间的开销:HTTP/1.1尝试使用流水线操作,但它没有在浏览器中流行(Presto是唯一完全正确的引擎,Presto是死).HTTP/2是另一种尝试,它改进了HTTP/1.1的方法,同时也使这种事情变得非可选,并且它会更加成功.它还通过压缩标头消除在发出多个请求时的一些基于带宽的开销,但它无法完全消除这种开销,并且在下载多个文件时,仍然必须进行这些请求(作为单个TCP/IP会话的一部分) ,所以开销较少,但不是零.因此,虽然连接和精灵的影响成比例地减小,但仍然会产生一些影响,特别是如果您使用许多文件.

在连接和spriting方面,要考虑的另一件事是压缩.类似类型的连接文件倾向于比单个文件更好地压缩,因为压缩算法可以利用连接的数据片段之间的相似性.类似的原则适用于精灵:将相似图像放在同一文件的不同区域通常会产生较小的文件,因为图像的压缩可以利用不同区域的相似性.


推荐阅读
  • 本文详细介绍了利用JavaScript实现的五种不同的网页弹出窗口技术,包括全屏窗口、全屏模式窗口、带收藏链接工具栏的窗口、网页对话框及HTA窗口。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文讨论了如何根据特定条件动态显示或隐藏文件上传控件中的默认文本(如“未选择文件”)。通过结合CSS和JavaScript,可以实现更灵活的用户界面。 ... [详细]
  • 我有这种ajax$.ajax({type:"POST",url:"bee_sesi_edit.php&# ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文深入探讨了JavaScript中循环结构的使用方法,特别是While循环,用于重复执行一段代码直到特定条件不再满足。同时,文章还介绍了Switch语句在多条件分支选择中的应用。 ... [详细]
  • 本文探讨了在使用Knockout.js创建自定义绑定处理器时遇到的一个常见问题:尽管两个绑定使用了相同的初始化代码并绑定到了同一个值,但它们的初始化表现却不同。 ... [详细]
  • 本文详细探讨了JavaScript中的闭包与柯里化技术,这两者是函数式编程的重要组成部分,对提升代码的灵活性和可维护性具有重要作用。 ... [详细]
  • 探讨在特定情况下使用 Knockout.js 的 if 或 visible 绑定的最佳实践,特别是在处理未定义对象时的策略。 ... [详细]
  • 我在一个标签中嵌入了一个地图,如何设置使其“map_canvas”在标签下的宽度和高度都达到100%? ... [详细]
author-avatar
郭绍玲刚珍雅瑜_658
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有