前言
http 协议概要
尽可能减少 http 请求
前言
一想到优化网站,大多数情况下我们都是优化动态的后台程序,比如程序执行效率,查询数据库效率等。一些大规模的站点,比如 www.yahoo.com 等,页面的载入已经是超越了动态程序生成页面的消耗。虽然书中说 10-20% 的时间损耗在服务器端程序生成 html ,其他的损耗在浏览器和服务器的交互以及页面渲染。但是我看来,很多时候还是需要根据网站的规模和表现来评估实际损耗,给出这样的数据并不一定适应所有,甚至是大部分网站。当然,基本上是网站规模(主要是说页面内容量)越大,后台生成 html 的损耗越小——实际上大型站点的很多页面都是完全或者部分静态化的。
这方面的优化,很重要的一方面是了解常见浏览器跟服务器的交互以及解释 html 的方式。开头有提到 Parallel Downloads ,这个解释了浏览器拉取页面组件的一些方式,后面会讲述,比较有价值。还提了一条说,大多数浏览器在请求脚本的时候,会阻塞其他请求,无法并行其他请求。对很多大型站点来说,前台优化的代码,在很多情况下确实要比后台优化来得简单,快速。
http 协议概要
因为它定义了浏览器和服务器的交互方式,了解 http 协议,才能够更好的进行优化,下面主要抽取一些优化比较相关的包头简单介绍:
压缩
浏览器请求头中 Accept-Encoding: gzip,deflate 是告诉服务器它支持的压缩类型。需要注意的是,在服务器回包的时候,apache2.0 的 deflate 也会标记为 gzip 压缩。
条件请求
浏览器并不会把每个请求都发送给服务器,经常会有某些文件已经被浏览器保存起来,这时候浏览器判断被 cache 的文件信息,并把相关信息发送给跟服务器。比如一般浏览器对 cache 文件会发送 If-Modified-Since 表示被 Cache 文件的创建时间,如果服务器发现该文件自该创建以后没有被修改,就直接发给 http 包头告诉浏览器可以读 Cache 即可,这样就节省了传输的时间和服务器消耗。这时候,服务器一般都是返回经典的状态码 304 Not Modified 。
Expires
这个时间指定文件的过期时间,如果浏览器 Cache 了该文件,在没有过期的情况下,根本就不需要跟服务器发送请求。
Keep-Alive
HTTP 协议是建立在 TCP 协议基础上,早期的 HTTP 实现中,每个请求都需要创建一个 socket [...]
分享到:
相关推荐
High performance web sites
《High Performance Web Sites》这本书是Web性能优化领域的经典之作,由Steve Souders撰写,旨在帮助开发者和网站管理员提升网站的加载速度和运行效率。书中的知识点涵盖了从基础的HTML和CSS优化,到JavaScript和...
High Performance MySQL.chm和High Performance Web Sites.pdf 什么都不说了,我分享的东西绝对好东西, 很清晰,很好用,不过是英文的哦。 没分了,来挣分的,呵呵
Souders的上一本畅销书《高性能网站建设指南》(High Performance Web Sites)震惊了Web开发界,它揭示了在客户端加载一个网页的时间大约占用了总时耗的80%。在《高性能网站建设进阶指南》(Even Faster Web Sites...
High Performance Mobile Web 英文epub
veteran mobile and web developer Maximiliano Firtman demonstrates which aspects of your site or app slow down the user’s experience, and what you can do to achieve lightning-fast performance....
Over high-latency and unreliable cellular networks, performance on mobile is the key to success and conversion. Early Release! This book will give you the knowledge and tools to measure your mobile...
High Performance Computing 英文无水印原版pdf pdf所有页面使用FoxitReader、PDF-XChangeViewer、SumatraPDF和Firefox测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请...
This practical guide walks you through how to tune one of the leading free open source web servers to attain optimal performance for high-traffic sites. It also explores ways to improve network ...
本文将深入探讨一款名为“Your high performance web application C framework”的C语言编写的高性能Web应用框架,旨在帮助开发者理解其核心概念、设计理念以及如何利用它来构建强大的Web服务。 首先,我们要明确...
High Performance Java Persistence 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系...
本项目“C++ High Performance Web Server”旨在探索如何使用C++这一强大且高效的编程语言构建一个高性能的Web服务器。通过深入理解C++语言特性,结合现代软件工程的最佳实践,我们可以构建出能够处理大量并发连接、...
Java 9 High Performance 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Take your application to the next level of high performance using the extensive capabilities of Node.js About This Book Analyze, benchmark, and profile your Node.js application to find slow spots, ...
Python High Performance(2nd) 英文无水印pdf 第2版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系...
Hands-On High Performance Programming with Qt 5: Build cross-platform applications using concurrency, parallel programming, and memory management Author: Marek Krajewski Pub Date: 2019 ISBN: 978-...