相关疑难解决方法(0)

IIS 7.5从响应中删除etag标头

我知道很多次都会问这个问题,但大多数问题都发生在2009-2010.

我很肯定一段时间我正在努力删除它们,但是我现在找不到任何方法将它们删除.

那么这个领域有没有进步?微软让IIS无法轻松配置这些标头似乎很疯狂.

目前已经尝试过:

  • 将空白etag标头添加到web.config
  • 将带引号的etag添加到web.config中
  • 直接通过IIS添加空白etag标头
  • 添加自定义模块,删除BeginResponse上的etag
  • 与上面相同但适用于EndResponse
  • 与上述两者相同,但不是删除etag,而是将其设为空

我听说有一个ISAPI过滤器可以删除它们,但是我无法在任何地方找到它,并且没有从头开始编写的经验,但可能最终成为唯一的方法.

这就是为什么我想删除所有内容的Etags的原因.我让客户端缓存所有内容(过期和最后修改),所以一旦从服务器获取静态文件,它就永远不需要再次查询服务器,直到它过期.就像使用Etags一样,您仍然需要向服务器请求每个文件,以确定标记是否仍然匹配.因此,使用客户端缓存只会请求您需要的内容.

我还有一个版本控制系统,所以当发生变化时,静态内容会被引用为my.js?12345而不是my.js?12344.无论如何,重点是我目前认为删除Etags将大大改善我当前项目的一个瓶颈.

iis etag caching iis-7.5 http-headers

27
推荐指数
2
解决办法
1万
查看次数

HTTP缓存混乱

我不确定这是否是服务器问题,或者我是否无法理解HTTP缓存是如何工作的.

我有一个在IIS7上运行的ASP MVC应用程序.作为网站的一部分,有很多静态内容,包括大量的CSS,Javascript和图像文件.

对于这些文件,我希望浏览器将它们缓存至少一天 - 我们的.css,.js,.gif和.png文件很少更改.

我的web.config是这样的:

<system.webServer>
    <staticContent>
        <clientCache cacheControlMode="UseMaxAge" 
                     cacheControlMaxAge="1.00:00:00" />
    </staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是浏览器(经过测试的Chrome,IE8和FX)似乎没有像我期望的那样缓存文件.我有默认设置(在IE中自动检查新页面).

首次访问内容时按预期下载

HTTP/1.1 200 OK
Cache-Control: max-age=86400
Content-Type: image/gif
Last-Modified: Fri, 07 Aug 2009 09:55:15 GMT
Accept-Ranges: bytes
ETag: "3efeb2294517ca1:0"
Server: Microsoft-IIS/7.0
X-Powered-By: ASP.NET
Date: Mon, 07 Jun 2010 14:29:16 GMT
Content-Length: 918

<content>
Run Code Online (Sandbox Code Playgroud)

我认为Cache-Control: max-age=86400应该告诉浏览器不要再次请求页面一天.

好的,现在重新加载页面,浏览器再次请求图像.这次它使用这些标题获得空响应:

HTTP/1.1 304 Not Modified
Cache-Control: max-age=86400
Last-Modified: Fri, 07 Aug 2009 09:55:15 GMT
Accept-Ranges: bytes
ETag: "3efeb2294517ca1:0"
Server: Microsoft-IIS/7.0
X-Powered-By: ASP.NET
Date: Mon, 07 Jun 2010 …
Run Code Online (Sandbox Code Playgroud)

iis iis-7 caching http

11
推荐指数
2
解决办法
2万
查看次数

IIS 7.0上的ETag

IIS中是否默认启用Etags?如果没有那么请告诉我如何打开它们?

iis etag

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

iis ×3

caching ×2

etag ×2

http ×1

http-headers ×1

iis-7 ×1

iis-7.5 ×1