利用GZIP压缩网页相关知识

简介:

网站的访问速度是由多个因素所共同决定的,这些因素例如应用程序的响应速度、网络带宽、服务器性能、与客户端之间的网络传输速度等等。其中最重要的一个因素是应用程序本身的响应速度,因此当你为网站性能所苦恼时,你第一个需要着手进行处理的便是尽可能的提升应用程序的执行速度,你可以使用缓存或者是优化代码的执行效率来提升应用程序的速度。

网页压缩是一项由 WEB 服务器和浏览器之间共同遵守的协议,也就是说 WEB 服务器和浏览器都必须支持该技术,所幸的是现在流行的浏览器都是支持的,包括 IE、FireFox、Opera 等;服务器有 Apache 和 IIS 等。
什么是Gzip? Gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序。最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是Gzip格式的。现今已经成为Internet上使用非常普遍的一种数据压缩格式,或者说一种文件格式。HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用Gzip压缩技术来让用户感受更快的速度。这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来。一般对纯文本内容可压缩到原大小的40%。
Gzip开启后有什么好处? 开启Gzip后会在网页数据传输之前,先使用Gzip压缩后再传输给客户端,客户端接收之后由浏览器解压显示。这样就会减小通过网络传输的数据量,提高浏览的速度。  
Gzip Web压缩工作原理 Web服务器处理HTTP压缩的过程如下: 1. Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩(Accept-Encoding 信息); 2. 如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名; 3. 如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件; 4. 如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件; 5. 如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件; 6. 如果请求文件是动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。
 
下面是两个演示图:
 
未使用压缩请求响应流程
 
 
使用压缩请求响应流程
 
 
 
不同的web服务器都可通过配置实现gzip压缩.
 
 
目录
相关文章
|
5月前
|
API C# 数据安全/隐私保护
C# 实现网页内容保存为图片并生成压缩包
C# 实现网页内容保存为图片并生成压缩包
|
JavaScript 算法 Java
网页内容压缩与解压教程
本教程将为你介绍如何使用Node.js、Java和Python进行网页内容的压缩与解压。我们将重点讨论gzip、deflate和brotli这三种常用的压缩方法。
305 0
|
JavaScript
浏览器文件下载
浏览器文件下载
120 0
|
开发框架 .NET PHP
JavaWeb - 网页 GZIP 压缩检测
JavaWeb - 网页 GZIP 压缩检测
135 0
|
数据采集 Web App开发 Java
实现网络图片爬虫,只需5秒快速把整个网页上的图片全下载打包zip
我们经常需要用到互联网上的一些共享资源,图片就是资源的一种,怎么把网页上的图片批量下载下来?有时候我们需要把网页上的图片下载下来,但网页上图片那么多,怎么下载我们想要的东西呢,如果这个网页都是我们想要的图片,难道我们要一点一点一张一张右键下载吗? 当然不好,这里提供一段Java实现的网络爬虫抓图片代码,程序员同志有喜欢的记得收藏哦, 材料:必须会java开发,用到的核心jar Jsoup自己去网上下载很多。
1195 0
|
机器学习/深度学习 C#
C#使用Gzip解压缩完整读取网页内容
using System; using System.Threading; using System.Text; using System.Text.RegularExpressions; using System.
1578 0
|
Linux
上传网页后遇到网页乱码问题
上传网页后,打开网站碰到了乱码问题: 把Linux的默认编码调整: 代码如下: #vi    /etc/sysconfig/i18n LANG="zh_CN.
1295 0
|
JSON Java 应用服务中间件
|
数据格式 XML .NET