【发布时间】:2010-11-26 11:33:21
【问题描述】:
动态页面也可以压缩并赋予 etag 吗?
有什么想法吗?我非常想念Apache。希望有人能帮忙! :)
【问题讨论】:
标签: iis caching iis-7 gzip etag
动态页面也可以压缩并赋予 etag 吗?
有什么想法吗?我非常想念Apache。希望有人能帮忙! :)
【问题讨论】:
标签: iis caching iis-7 gzip etag
要启用动态压缩,请使用Microsoft Web Platform Installer 确保已安装“IIS:动态内容压缩”。然后打开 IIS 管理器并单击服务器(如果您只想为单个站点启用此功能,则单击站点,存储在站点根目录下的 web.config 中,因此请注意不要覆盖),然后转到压缩并确保“启用动态内容压缩”已打勾。这是 IIS7 的,如果你想要 IIS6 的,请告诉我。
对于 aspx 页面上的 etag,添加到 Page_PreInit(如果是母版页,则添加到 Page_Init):
if (Request.Headers["If-None-Match"] == "somekey")
{
Response.StatusCode = (int)System.Net.HttpStatusCode.NotModified;
Response.End();
}
然后到 Page_Load:
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetETag("somekey");
如果它是某个内容管理系统,其中 somekey 可能是存储在页面数据库中的最后修改日期。
【讨论】: