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

雅虎军规

遵循雅虎的军规,可以让网站的加载速度更快,所以我们在实际开发中是十分有必要牢记下列的雅虎军规!下面一起来看看都有哪些吧!尽可能的减少HTTP请求数。如何减少呢,把Js和CSS文件尽

  遵循雅虎的军规,可以让网站的加载速度更快,所以我们在实际开发中是十分有必要牢记下列的雅虎军规!下面一起来看看都有哪些吧!

  1. 尽可能的减少HTTP请求数。如何减少呢,把Js和CSS文件尽可能合并成一个文件,还有CSS sprites将小图标合并。
  2. 利用CDN系统。内容分布网络 ,解决用户拥挤的状况。
  3. 添加Expire/Cache-Control头。expire头的内容是一个时间值,代表的是资源在本地的过期时间。也就是说,如果Expire头的时间没有过期,每次的访问就不会发送http请求,直接使用本地资源。然后Cache-Control头,是负责控制页面的缓存机制,比expire有更多的功能。
  4. Gzip压缩技术。雅虎规定所有的web文件都应该被Gzip压缩,现在的浏览器都是支持Gzip格式的解压的。
  5. 将CSS文件放在HTML顶部head标签中。为了提供页面渲染性能,应该先加载CSS文件,再进行HTML渲染,提升用户体验。
  6. 将Script文件放在HTML底部。这个是很常见的啦,防止加载过大的Script文件导致页面空白,不渲染。
  7. 避免在CSS中使用Expressions。CSS Expressions是CSS表达式,用于和Javascript相连接。每一个操作都会严重影响浏览器的性能,所以一定要避免使用它。
  8. 把Js和CSS放到外部文件中。这个是颇有争议的,分为两个派别,一个是放到外部文件,一个是写在页面内。我们一起分析一下两种方法的各自的优点,并灵活应用。外部文件党的优点在于,提高了Js和CSS的复用性,减少了页面自身的体积,可以单独缓存,也提高了Js和CSS的可维护性。而另一个写在页面内的党的优点在于,减少页面的http的请求数,提升页面渲染速度。对于这两种方向,该怎么选择,应当结合实际情况。例如,当某个脚本只应用于一个页面或者脚本和样式文件很少的时候,就可以写在页面内。还有一些网站如淘宝天猫之类的流量非常巨大,非常需要减少http请求数的,都是可以看到他们并非全部提取到一个单独文件的。
  9. 减少DNS查询。DNS查询,也就是将域名转化成IP地址的查询过程。现代浏览器都会将DNS查询进行缓存。这里就涉及到采用单域或多域的资源配置。
  10. 压缩Javascript和CSS。这个对前端工程师来说已经是一个必备技能了,让Js和CSS的文件更轻量化。可以使用Grunt,但更推荐百度的FIS前端自动化工具。自动化的流程,可以更有效的节省时间,让我们更关注代码本身,而不是其它一些繁杂的事情。有兴趣的可以去了解一下。
  11. 避免重定向。也就是原始请求被重新转向了其它请求。重定向会增加服务器和客户端的往返请求次数,增加了http的请求次数。
  12. 移除重复的脚本。重复调用的脚本文件,浏览器并不会智能的忽略,而是再一次计算,这是一个非常不必要的资源浪费。
  13. 配置实体标签(ETag)。它属于HTTP协议,使用特殊的字符串,来标识某个请求资源的版本。通过ETag来标识本地是否有过一样的缓存文件,这个实体标签可以有效减少服务器的负担。
  14. 使用Ajax缓存。通过Ajax可以在不刷新页面的前提下,实现客户端和服务器的数据交换,实现局部刷新的效果。

  当然我们如何可以智能的做到这些规定呢,这里就不得不介绍一个Firebug的插件Yslow了!这个Yslow可以自动检测制定的规则,并予以一定的等级评定并给出修改的建议。非常的高大上,有木有!

  当然这里就抛砖引玉了,有兴趣的朋友也可以自己去搜索一下Yslow,让你的网站性能有一个更大的提升。

雅虎军规


推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 为开发者提供了一系列实用的参考网站和资源链接,包括HTML速查手册( 和 ),帮助开发者快速查找和学习相关技术知识。此外,还涵盖了其他重要的开发工具和文档,为编程工作提供全面支持。 ... [详细]
  • 本文介绍了Java编程语言的基础知识,包括其历史背景、主要特性以及如何安装和配置JDK。此外,还详细讲解了如何编写和运行第一个Java程序,并简要介绍了Eclipse集成开发环境的安装和使用。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 本文详细介绍了如何解决DNS服务器配置转发无法解析的问题,包括编辑主配置文件和重启域名服务的具体步骤。 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 在分析和解决 Keepalived VIP 漂移故障的过程中,我们发现主备节点配置如下:主节点 IP 为 172.16.30.31,备份节点 IP 为 172.16.30.32,虚拟 IP 为 172.16.30.10。故障表现为监控系统显示 Keepalived 主节点状态异常,导致 VIP 漂移到备份节点。通过详细检查配置文件和日志,我们发现主节点上的 Keepalived 进程未能正常运行,最终通过优化配置和重启服务解决了该问题。此外,我们还增加了健康检查机制,以提高系统的稳定性和可靠性。 ... [详细]
  • 本文详细解析了 Yii2 框架中视图和布局的各种函数,并综述了它们在实际开发中的应用场景。通过深入探讨每个函数的功能和用法,为开发者提供了全面的参考,帮助他们在项目中更高效地利用这些工具。 ... [详细]
  • PHP自学必备:从零开始的准备工作与工具选择 ... [详细]
  • 基于Java和SSM框架的志愿者管理平台源代码分析与实现
    本研究针对基于Java和SSM框架的志愿者管理平台进行了详细的源代码分析与实现。该平台属于Java Web项目,采用Java EE技术栈,并结合了Spring、Spring MVC和MyBatis三大核心框架(非开源)。项目名称为“基于SSM的志愿者管理系统”,旨在提升志愿者管理的效率和规范性。通过对系统架构、模块设计及关键代码的深入解析,本文为开发者提供了全面的技术参考和实践指导。 ... [详细]
author-avatar
php程序小哥
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有