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

高性能网站建设指南读书笔记(一)

这本书的绪言讲得很好,对于网站来说,页面从发送请求到看到页面,只有10%~20%的时间是花在Web服务器获取HTML文档并且传输到浏览器的

这本书的绪言讲得很好,对于网站来说,页面从发送请求到看到页面,只有10%~20%的时间是花在Web服务器获取HTML文档并且传输到浏览器的,剩余的80%~90%的工作都是前端部分来做的,作为一个前端开发人员,与其希望后台提升效率,不如自己通过一些方法来提升前端的效率。作者说,将这本书的14条规则合理的运用在网站上,可以节省25%甚至更高的时间!

规则一 减少HTTP请求

性能黄金法则:最终用户响应时间10%~20%~花费在接受所请求的html文档上,而其余80%~90%的时间是花费在HTML文档所引用的其他资源(图片、脚本、样式表、Flash等)进行的HTTP请求上,

减少HTTP请求的数量可以有效的减少请求过多资源花费的时间从而提升性能。

  • 图片地图

    这种方法可能很古老了,现今的浏览器或者网站可能很少用了,可以去书上看看demo

  • CSS Sprites
    CSS Sprites可以将多幅图片拼接成一幅图片,从而减少请求数量来提升性能。但是CSS Sprites也有缺点,那就是都不适合大容量图片,适合小size的多张图片合并。

    其实雪碧图在http1.1以下的版本用处是非常大的,在 HTTP/1.1 协议中 「浏览器客户端在同一时间,针对同一域名下的请求有一定数量限制。超过限制数目的请求会被阻塞」。所以,很多张图片同时请求,可能需要分批次请求很多次,雪碧图很好的解决了这个问题,而HTTP/2.0采用了多路复用,取消了网络请求数量这一块的限制。
    http/2.0相比1.1性能的提升
    HTTP/1.1:
    image
    HTTP/2.0:
    image
    从上面两张图可以看出,HTTP/1的请求次数是有限制的,大概同义词只可以发送6个请求左右;而在HTTP/2下,几乎所有的请求是同时发出的,大大提高了性能。

  • 内联图片

    优点:使用data:URL的形式可以在页面中使用图片而无需额外的HTTP请求。
    缺点:data:URL形式存在兼容性问题,如低版本的IE浏览器以及过大的图片进行base64编码的同时,其data:URL的代码也非常大,从而虽然节省了HTTP请求,但是加大了HTML文档的容量。

  • 合并脚本和样式表
    每个页面都会额外引用脚本和样式表,否则就会使用内联脚本和样式表。对于开发和维护的角度来说,是推荐使用引用样式表的这种形式的,但是每一个引用又会多一次HTTP请求,所以,合理的合并脚本以及样式表,可以减少HTTP请求的次数并缩短最终用户响应时间。




推荐阅读
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 前端性能优化无损压缩webp格式的图片
    一、什么是webpWebP格式,谷歌开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的23,并能节省大量的服务器宽带资源和数据空 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • Shodan简单用法Shodan简介Shodan是互联网上最可怕的搜索引擎,与谷歌不同的是,Shodan不是在网上搜索网址,而是直接进入互联网的背后通道。Shodan可以说是一款“ ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
author-avatar
欧罗巴法域_430
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有