例如,直接请求图片时服务器响应的HTTP头如下:
引用内容
HTTP/1.1 200 OK
Content-Length: 48150
Content-Type: image/jpeg
Last-Modified: Tue, 18 Dec 2012 15:01:50 GMT
Accept-Ranges: bytes
ETag: "e119ee9b30ddcd1:1c48"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Sat, 06 Sep 2014 08:07:17 GMT
使用Server.Transfer重定向到图片:
<% Server.Transfer("/test.jpg") %>
服务器响应的HTTP头如下:
引用内容
HTTP/1.1 200 OK
Date: Sat, 06 Sep 2014 08:08:23 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 48150
Content-Type: text/html
Set-Cookie: ASPSESSIONIDCABATASQ=HCKPNPPAECAKPBJJNHOENINF; path=/
Cache-control: private
存在问题
·不能正确返回Content-Type的值image/jpeg;
·HTTP头缺少了Last-Modified和ETag,致使缓存机制失效;
这是Server.Transfer设计使然,应当无解。ASP.NET可以使用RewritePath代替它实现服务器端重定向。
时间: 2024-09-26 11:18:43