我已经请求了一个带有ETAG的视频。
当我再次请求同一个视频时,我可以看到使用Etag从浏览器传递的If-non-match标头,但不是304返回,视频会再次以200 OK响应下载。
在第一个视频请求的提琴手中,响应是:
HTTP/1.1 200 OK
Cache-Control: max-age=10
Content-Length: 76278442
Content-Type: video/mp4
Last-Modified: Wed, 21 Aug 2013 08:47:29 GMT
ETag: "2117329216"
Server: Microsoft-IIS/7.5
X-Mod-H264-Streaming: version=2.2.7
X-Powered-By: ASP.NET
Date: Fri, 23 Aug 2013 21:20:34 GMT
在第二个请求中,GET标头是:
GET http://test/video.mp4 HTTP/1.1
Accept: */*
Accept-Language: en-GB
x-flash-version: 11,8,800,94
Accept-Encoding: gzip, deflate
If-Modified-Since: Wed, 21 Aug 2013 08:47:29 GMT
If-None-Match: "2117329216"
Connection: Keep-Alive
但在这种情况下,我会下载整个视频,而不是304未修改的响应。
我注意到使用了X-Mod-H264-Streaming,不确定这是否与它有关。
修改
我直接在IE 10中使用了视频的URL(不使用我们之前使用的flex应用程序),我得到相同的响应,在第一次请求时,我获得了完整的视频,在点击f5后,我获得了整个视频再次返回,而不是304响应。