- 浏览: 249581 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
october731:
我也发现了这个问题,不知道如何解决。up
#if RELEASE(C# 预编译指令) -
bluky999:
个人觉得在概念上GUID与UUID是两个东东,有着不同的应用吧 ...
Python学习笔记四(GUID&UUID) -
gongmingwind:
效果不错啊
JQuery画图插件(flot) -
Tomzheng:
哥们厉害。继续总结,受教!
.NET WAP开发及兼容问题 -
cn_arthurs:
牛掰
JQuery画图插件(flot)
GZIP压缩其实就是将网页内容压缩,减少HTML代码网络传输的代价,来提高Web性能。
这个请求的过程解释一下:
1:客户端Request请求。Http_header中会根据相应的浏览器发送相应的编码规则,如图:
这表明“我”客户端浏览器可以支持gzip、deflate两种压缩格式。
2:服务器端接受到这个“Accept-Encodeing”,服务器就可以采用相应的gizp、defalte,压缩web内容,并Response。如图:
3:客户端浏览器接受到相应压缩后的内容,根据"Content-Encoding:gzip",进行相应解压缩,并呈现给用户。
IIS6.0启用GZIP压缩的方法
- 打开Internet信息服务(IIS)管理器,右击"网站"->"属性",选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和"压缩静态文件",按需要设置"临时目录"和"临时目录的最大限制";
- 在Internet 信息服务(IIS)管理器,右击"Web服务扩展"->"增加一个新的Web服务扩展...",在"新建Web服务扩展"框中输入扩展名"HTTP Compression",添加"要求的文件"为C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系统目录根据您的安装可能有所不同,选中"设置扩展状态为允许";
- 使用文本编辑器打开C:\Windows\System32 \inetsrv\MetaBase.xml(建议先备份),找到Location ="/LM/W3SVC/Filters/Compression/gzip",如果需要压缩动态文件,则将 HcDoDynamicCompression设置为"TRUE",并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx;如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为 "TRUE",并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如xml、css等; HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数字越小压缩率越低;
- 编辑完毕后保存MetaBase.xml文件;如果文件无法保存,则可能IIS正在使用该文件。打开"开始"->"管理工具"->"服务",停止"IIS Admin Service"后,即可保存;
- 最后,重新启动IIS。可以到HTTP压缩测试网站验证结果。
这里要提到的是:IIS6.0的压缩,会对HTML、CSS等静态文件进行优化。IIS6.0会将这些压缩好的文件放在一个缓存目录中,如果没有修改,IIS6.0将直接返回缓存目录中的文件。而不是对这些文件每次都压缩。
通过HttpModules启用GZIP压缩(.NET 2.0)
主要是.NET 2.0有两个类:GZipStream DeflateStream。Module的代码粘贴如下(非原创)
public sealed class CompressionModule : IHttpModule
{void IHttpModule.Dispose()
{
// Nothing to dispose;
}void IHttpModule.Init(HttpApplication context)
{
if (BlogSettings.Instance.EnableHttpCompression)
{
context.PreRequestHandlerExecute += new EventHandler(context_PostReleaseRequestState);
}
}private const string GZIP = "gzip";
private const string DEFLATE = "deflate";void context_PostReleaseRequestState(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
if (app.Context.CurrentHandler is System.Web.UI.Page && app.Request["HTTP_X_MICROSOFTAJAX"] == null)
{
if (IsEncodingAccepted(DEFLATE))
{
app.Response.Filter = new DeflateStream(app.Response.Filter, CompressionMode.Compress);
SetEncoding(DEFLATE);
}
else if (IsEncodingAccepted(GZIP))
{
app.Response.Filter = new GZipStream(app.Response.Filter, CompressionMode.Compress);
SetEncoding(GZIP);
}
}
else if (app.Context.Request.Path.Contains("WebResource.axd"))
{
app.Context.Response.Cache.SetExpires(DateTime.Now.AddDays(30));//是.NET自己的文件,这里只是加缓存时间
}
}private static bool IsEncodingAccepted(string encoding)
{
HttpContext context = HttpContext.Current;
return context.Request.Headers["Accept-encoding"] != null && context.Request.Headers["Accept-encoding"].Contains(encoding);
}private static void SetEncoding(string encoding)
{
HttpContext.Current.Response.AppendHeader("Content-encoding", encoding);
}}
什么类型文件应该GZIP压缩:
1:CSS,Javascript、html 静态文件
2:asp,aspx 动态文件
图片不要使用GZIP,压缩了反而大(忘记是那篇文章提到了)
如何检查网页是否GZIP压缩过:
1:Fiddler 软件(我截图中使用的软件),查看Content-Encoding
2:http://www.port80software.com/tools/compresscheck.asp 网站
3:自己写一个Post,添加“Accept-Encodeing:gzip”,看返回的内容就知道啦
改进:
目前我们的网站aspx页面已经启用Gzip压缩,但CSS,Javascript,html还没使用。而且最好使用IIS6.0配置方式的压缩(IIS6.0有压缩缓存)。
请教:
1:GZIP,Deflate 两种有什么区别
2:从HtmpModule代码来看,应该是优先使用Defalte,那么是不是如果 GZIP,Deflate同时存在优先使用Deflate。但在网站的测试中发现,Defalte压缩比GZIP大?
参考文档:
dudu http://www.cnblogs.com/dudu/archive/2004/12/12/76085.html
http://www.yaosansi.com/post/957.html
--=阅读快乐=--
发表评论
-
.NET WAP网站开发系列
2009-08-22 23:21 2772应德军兄的要求,完成了WAP2.0开发相关的文章。想想这个系统 ... -
Forms 身份验证顺序问题。
2006-09-01 10:46 589要求:对于特定目录,不允许匿名访问,但允许指定的用户pumab ... -
[转]Asp.NetURL重写后,postback 问题
2007-03-23 12:06 848原文:http://blog.csdn.net/pc01/a ... -
替换的效率测试(MS VS MY)
2007-08-29 19:20 608因为进来公司要给其他 ... -
Word 打印技巧
2007-10-20 17:13 591因为最近项目文档会议比较多,所以打印文档也就是常事情了。但发现 ... -
【转】解决大量图片造成的页面延迟
2007-11-05 18:36 703当页面上存在大量图片的时候,图片下载可能造成页面延迟。下面介绍 ... -
【原创】正则表达式 地址匹配(地区城市地址)
2007-11-15 23:43 3220项目中需要对商户所在地址进行匹配,关键是取出用户所在路名,用户 ... -
google 工具条无法安装【已解决】
2007-11-18 20:07 1284一个下午就折腾工具的工作了,不知道什么原因,安装google ... -
[转] 240多个jQuey插件
2007-12-09 15:01 656“jQuery 是继 prototype 之后又一个优秀的 J ... -
产品开发过程改进(网页设计师和网站工程师配合)
2007-12-13 22:31 782最近新的项目中我们改 ... -
用Javascript将图片等比例缩放
2008-01-03 23:51 1006并非原创,主要是产品部的需求。对网站商户图片进行等比例缩放。 ... -
Blogs统计工具,流量分析
2008-01-06 15:52 1338关于博客使用什么类型的统计工具,下文有很详细的介绍,我将最后的 ... -
C# override,new 的区别
2008-01-10 22:54 1266本来不想取这个标题的,但考虑到SEO上的问题,我还是决定使用这 ... -
C# 接口的显示实现和隐示实现
2008-01-12 15:14 1079接口的实现很多人都知道,但接口的实现方式分显示实现和隐示实现不 ... -
很好很实用的屏幕截图工具PicPick(屏幕尺)
2008-01-12 18:19 1730从小众上看到关于屏幕截图的软件PicPick,尝试的使用了一下 ... -
边框圆角的实现
2008-01-12 21:49 896对于圆角的实现不感兴趣,但最近公司的项目中涉及到这方面的内容, ... -
未安装TCP/IP网络传输
2008-01-26 22:29 2359这几天都不开心,连我的PC也要和我开玩笑。发现电脑用了一段时间 ... -
DataRow.IsNull 判断 DBNull
2008-02-02 00:26 2858今天网站上线时碰到的一个问题。同事原来的做法将导致错误“对象不 ... -
Html特殊字符 记忆
2008-02-09 18:07 998平时会用的一些HTML特殊字符,但每次用的时候都不知道写。我 ... -
[过年札记]大年初二
2008-02-09 20:31 581在家待了一天,《网站 ...
相关推荐
4. **性能优化**:理解启用GZIP压缩对网站性能的影响,包括加载速度提升和带宽节省。 5. **兼容性检查**:确保所用的GZIP设置与不同浏览器和操作系统兼容,避免出现兼容性问题。 6. **安全注意事项**:了解启用GZIP...
在现代Web开发中,优化前端项目以提高加载...Nginx的gzip压缩和Vue CLI的打包过程都是为了提高网站的加载速度,提升用户体验。通过了解这些技术细节,开发者可以更好地优化自己的Web应用,使其在性能上达到最佳状态。
在构建和运营大规模网站的过程中,性能优化是至关重要的一个环节,它关系到用户体验、服务器负载以及整体业务的可持续发展。本篇文章将详细探讨大规模网站性能优化的方法,旨在提高网站的高性能表现。 一、前端优化...
在本项目中,我们将关注如何使用pako库进行gzip压缩和解压缩,并解决在处理中英文内容时可能出现的乱码问题。 首先,让我们详细了解pako库。pako是基于zlib库的一个轻量级实现,它在浏览器和Node.js环境中都能运行...
总之,通过学习和掌握Nginx的gzip压缩以及相关的性能优化技巧,我们可以有效地提升网站的加载速度,降低服务器的带宽消耗,为用户提供更流畅的浏览体验。同时,Nginx的其他高级特性,如反向代理、负载均衡和安全防护...
【web前端性能优化】是提升网站用户体验的关键环节。在当今互联网环境下,网页的加载速度直接影响着用户的满意度和网站的留存率。以下是一些基础且实用的前端优化策略: 1. **合并CSS和JavaScript文件**:减少HTTP...
gzip是Linux环境中广泛使用的文件压缩工具,其源代码主要由C语言编写。本文将深入探讨gzip的原理、C语言实现...通过对gzip源码的分析,我们可以学习到如何在有限的资源下优化代码性能,以及如何处理错误和异常情况。
8. **性能优化**:为了提高效率,可以研究如何利用Pascal的特性,如并行处理、内存管理技巧等来优化GZIP的实现。 9. **兼容性和跨平台**:如果Pascal-gzip适用于不同操作系统,那么要考虑平台差异,如文件路径格式...
在`.htaccess`文件中,你可以添加如下代码来启用服务器端的gzip压缩,以优化网站性能: ``` AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType ...
同时,了解GZIP压缩的基本原理和Java的实现方式,有助于优化代码性能,例如在处理大数据时,可以考虑使用缓冲区来提高效率。 总的来说,Java提供的GZIP压缩功能是强大且易用的,`GZipUtils`类的实现可以帮助我们更...
在现代网页开发中,优化网站性能是至关重要的。其中,通过使用Gzip压缩技术来减小JavaScript...在实际操作中,开发者还可以结合其他性能优化策略,如合并CSS和JavaScript文件、使用HTTP/2协议等,进一步提升网站性能。
在IT行业中,压缩技术是数据传输和存储时不可或缺的一部分,特别是在网络环境中,为了减少带宽消耗和加快网页加载速度,gzip压缩被广泛使用。本文将详细介绍如何在PHP环境中利用gzip进行数据压缩,涵盖两种服务器端...
标题 "启用 IHS (IBM HTTP Server) GZip 压缩提高网络 IO 性能" 指的是在 IBM HTTP Server (IHS) 上配置 GZip 压缩以优化网络传输效率。GZip 是一种广泛使用的数据压缩算法,特别适用于在网络传输中减少数据量,从而...
在构建和运营大型网站的过程中,性能优化是至关重要的环节,它直接影响着用户体验、搜索引擎排名以及服务器资源的利用效率。本文将深入探讨“大型网站性能优化方案”,基于多年的实践经验,为优化工作提供指导。 ...
总的来说,启用IIS的GZIP压缩对于优化网站性能至关重要,特别是对于js和css这类影响用户体验的资源。正确配置IIS的GZIP压缩设置,可以显著减少页面加载时间,提升用户访问体验。对于开发者来说,理解并掌握这一技巧...
在IT行业中,优化网站性能是至关重要的,其中一种方法就是对JavaScript(js)和CSS(css)文件进行压缩。本文将详细讲解如何使用gzip工具来压缩这两种文件,以减少网络传输的数据量,从而提高网页加载速度。 gzip是...
gzip源码分析与GZIP压缩算法详解 在深入探讨gzip源码和其压缩算法之前,首先需要理解GZIP是什么。GZIP是一种广泛使用的数据压缩格式,主要用于文件传输和存储。它基于DEFLATE算法,该算法结合了LZ77(一种字典压缩...
标题中的“GZIP很多网站要求用GZIP压缩”揭示了一个重要的网络优化技术——GZIP压缩。GZIP是一种广泛应用于Web服务器和浏览器之间的数据压缩格式,它能够显著减少网页的传输大小,从而加快页面加载速度,降低带宽...
标题提到的"WIN2003下IIS6.0环境设置页面Gzip压缩"是一个关于如何在Windows Server 2003上的Internet Information Services (IIS) 6.0中启用HTTP压缩,特别是使用Gzip算法来减小网页传输大小的技术主题。HTTP压缩是...
JavaScript(JS)是一种广泛应用于网页和网络应用的编程语言,对于优化网站性能至关重要。当JS文件较大时,加载时间会增加,可能导致用户感知到的延迟。为了提高网页加载速度和用户体验,开发者通常会采用压缩技术,...