原文参见:https://developer.yahoo.com/performance/rules.html
尽可能的减少http请求
总所周知:终端用户响应时间只有10-20%的时间是用来下载html页面,而80-90%的时间消耗在下载各种页面组件上,所以尽可能的减少http对服务器的请求是有效提高网站性能的方法之一
这些包括图像、脚本、css文件,flash等等。
1、采用image maps
image maps可以将多个url关联到一个图像上
<img usemap="#map1" border=0 src="/images/imagemap.gif">
<map name="map1">
<area shape="rect" coords="0,0,31,31" href="home.html" title="Home">
<area shape="rect" coords="36,0,66,31" href="gifts.html" title="Gifts">
<area shape="rect" coords="71,0,101,31" href="cart.html" title="Cart">
<area shape="rect" coords="106,0,136,31" href="settings.html" title="Settings">
<area shape="rect" coords="141,0,171,31" href="help.html" title="Help">
</map>
2、CSS Sprites
CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background-repeat”,“background-position”的组合进行背景定位,background-position可以用数字精确的定位出背景图片的位置
<style>
#navbar span {
width:31px;
height:31px;
display:inline;
float:left;
background-image:url(/images/spritebg.gif);
}
.home { background-position:0 0; margin-right:4px; margin-left: 4px;}
.gifts { background-position:-32px 0; margin-right:4px;}
.cart { background-position:-64px 0; margin-right:4px;}
.settings { background-position:-96px 0; margin-right:4px;}
.help { background-position:-128px 0; margin-right:0px;}
</style>
3、内联图像
例如:
<IMG ALT="Red Star" SRC="data:image/gif;base64,R0lGODlhDAAMALMLAPN8ffBiYvWWlvrKy/FvcPewsO9VVfajo+w6O/zl5estLv/8/AAAAAAAAAAAAAAAACH5BAEAAAsALAAAAAAMAAwAAAQzcElZyryTEHyTUgknHd9xGV+qKsYirKkwDYiKDBiatt2H1KBLQRFIJAIKywRgmhwAIlEEADs=">
或者可以把内联图像放入css里面,这样缓存到客户端,减少了http请求数
.home { background-image: url(data:image/gif;base64,R0lGODlhHwAfAPcAAAAAAIxKA...);}
.gift { background-image: url(data:image/gif;base64,R0lGODlhHwAfAPcAAAAAAABCp...);}
.cart { background-image: url(data:image/gif;base64,R0lGODlhHwAfAPcAAAAAADlCr...);}
.settings { background-image: url(data:image/gif;base64,R0lGODlhHwAfAPcAAAAAA...);}
.help { background-image: url(data:image/gif;base64,R0lGODlhHwAfAPcAAAAAALW1t...);}
4、合并js和css
将页面用到的多个js合并为一个js文件,多个css文件合并为一个css文件,从而减少http请求数
这个可以灵活决策,如果合并之后的js很大的话,也是会增加下载压力的,毕竟有的页面只用到其中某个js的模块,可以适当合并,灵活加载。
分享到:
相关推荐
从早期的《高性能网站建设指南》作者Steve Souders的观点转变可以看出,图片才是页面上最重要的部分。因为用户可以直接看到图片,而对JS和CSS文件的加载并不那么敏感。图片的加载速度直接影响用户的视觉体验和页面的...
通过多目标优化,系统可以在满足不同需求的同时,尽可能地提高整体性能。 该项目的技术栈选择了Vue.js作为前端框架,Vue-CLI是一个便捷的脚手架工具,用于快速搭建Vue应用,提供自动化构建、热重载、代码分割等功能...
这个简单的数学关系揭示了性能优化的核心——在提高系统处理能力的同时,减少用户请求的响应时间。 ### 性能与因素关联 性能的高低与多个因素密切相关,包括但不限于硬件配置、软件架构、应用编码、网络环境等。...
2. **内存消耗**:为了提高系统的整体性能,Web服务器需要尽可能地降低内存占用。 3. **易于开发**:良好的可理解性、可调试性和扩展性是衡量Web服务器设计优劣的重要标准之一,这意味着开发者能够轻松地对现有功能...
这得益于它的设计原则:尽可能减少内存分配和垃圾回收,以及优化字节缓冲管理。 1. **内存管理优化** `fasthttp`在内存管理上做了大量工作,避免了频繁的内存分配和垃圾回收。例如,它使用了预先分配的字节缓冲池...
这意味着尽可能地遵循MVC模式,减少JSP页面中的业务逻辑,以及合理地利用Struts提供的工具和组件。同时,考虑到团队的能力、项目的时间表和客户需求,需要在理想方案和现实之间找到一个合适的平衡点。 总的来说,...
本研究旨在探讨并设计一个基于.NET平台的Web应用框架——MyFramework,以期为.NET开发者提供一个高性能、易扩展且灵活的开发工具。 #### 二、研究背景与动机 ##### 1. Web应用框架概述 Web应用框架是一种软件架构...
它的设计原则是尽可能减少内存占用和CPU资源消耗,以满足嵌入式设备的严格要求。Boa采用单任务模型,不为每个连接创建新进程,而是通过内部管理HTTP连接请求列表,从而实现多连接处理。这种设计降低了系统的开销,...
此外,系统应优化性能,处理大量并发请求,确保在高负载下也能稳定运行。 6. 测试与优化: 在系统开发完成后,需进行全面的功能测试、性能测试和安全测试,确保系统无误并达到预期效果。根据测试结果,对系统进行...
在Web API设计中应用OOP的原则,意味着API设计应当尽可能地遵循封装、继承和多态等OOP的核心概念。 标签“web oop api design”进一步强调了这一点,即强调这种设计方法是针对Web API的,并且是建立在面向对象设计...
此层应尽可能减少业务逻辑,主要负责处理用户请求和响应,以及与用户进行交互。 3. **业务逻辑层(BLL)**: BLL是应用的核心,包含了所有业务规则和处理逻辑。它不直接与数据库交互,而是调用数据访问层的方法来...
尤其是在大型网站中,为了提高访问速度并减少服务器负担,尽可能地采用静态页面是非常有效的手段。例如,利用CMS(内容管理系统)自动生成静态页面是一种常见的实践,它能够简化内容的管理与发布过程。此外,即使是...
为了优化Cache性能,内存管理需要尽可能提高Cache局部性,即让经常一起访问的数据位于连续的内存区域,减少Cache的失效。分配和释放都基于存储块进行,存储块是虚拟存储区域的单位。在系统中,有分配块和有效块两种...
- **设计初衷**:提高速度是Memcached的核心设计理念,因此其架构设计着重于确保系统能够尽可能快速地处理请求。 - **技术选型**:最初的Memcached原型是用Perl编写的,但由于Perl在性能上的不足(如内存浪费严重、...
2. **高性能**:优化系统响应时间和处理能力,以应对大量并发请求。 3. **可扩展性**:随着业务的增长和技术的发展,系统能够轻松地扩展其容量和服务范围。 4. **成本效益**:在保证系统性能的同时,尽可能降低成本...
lighttpd,一个以轻量级、高性能著称的Web服务器,自其诞生以来就深受开发者和系统管理员的喜爱。本文将详细探讨lighttpd的版本1.4.32,以及它在嵌入式开发中的优势和应用。 首先,lighttpd这个名字本身便揭示了它...
为了确保 IIS 的安全性,需要加强其安全机制,建立高安全性能的可靠的 Web 服务器。以下是加强 IIS 安全机制的方法: 1. 应用 NTFS 文件系统 NTFS 文件系统可以对文件和目录进行管理,FAT 文件系统则只能提供共享级...