成长值: 237 签到天数: 4704 天 [LV.Master]伴坛终老
|
发表于 2017/11/11 19:47
|
显示全部楼层
|Google Chrome 60.0.3112.113 |Windows 10
确定3.5.11.11是语法BUG问题,如果etag没有变化就回应304,这就是bug
我看了下http协议 if-range是不应该回应304的,如果kangle回了304就是bug
官方已经确认,注释的是原来的代码, 原来的逻辑是如果etag有变化,就清掉range头,响应200,这是正确的。
后来改成了,如果etag没有变化就回应304
这不就是bug了吗?2333,中间优化弄错了。
If-Range的就是etag的内容
10月8号版本导致的问题,等待更新
HTTP协议如下:
The If-Range HTTP request header makes a range request conditional: if the condition is fulfilled, the range request will be issued and the server sends back a 206 Partial Content answer with the appropriate body. If the condition is not fulfilled, the full resource is sent back, with a 200 OK status.
This header can be used either with a Last-Modified validator, or with an ETag, but not with both.
The most common use case is to resume a download, to guarantee that the stored resource has not been modified since the last fragment has been received.
参考:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Range
在单个请求中,Range头信息能够询问多个范围,这种特性称为"多部分范围(multipart ranges)"。请不要和分段下载(segmented downloading)混淆,几乎任何的下载工具都使用分段下载来提高下载速度。这些工具声称通过打开两个或多个并发的连接(每个连接请求文档的不同范围)提高了下载速度。
多部分范围的想法并没有开启多个连接,但是他能够使客户端软件能够在单个请求/响应周期中请求某个文档的最前面的十个和最后面的十个字节。
|
|