首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在HTTP 200 OK响应中发送Content-Range标头

是否可以在HTTP 200 OK响应中发送Content-Range标头
EN

Stack Overflow用户
提问于 2017-03-31 13:51:41
回答 1查看 269关注 0票数 3

我的缓存服务器拒绝缓存200OK响应,当它有一个Content-Range头的时候。这是符合RFC2616的实现。

但是,需要缓存200OK响应,即使它有Content-Range头。这是允许的,还是违反了RFC规范?

EN

回答 1

Stack Overflow用户

发布于 2019-12-19 17:22:18

根据MDN docs for Range的说法

服务器也可以忽略Range头并返回整个文档,状态码为200。

类似地,Partial request下的MDN docs for range requests状态响应

  • 如果不支持范围请求,则从服务器发回200 OK状态。

换句话说,如果浏览器接收到响应Range报头的200,则可以假定服务器不支持部分响应。目前,Chrome就是这么做的。即使你发回了整个文档,如果Chrome在请求视频的一部分时收到了一个200,播放条/搜索栏就不能工作了。

至于Content-Range是否被允许,我还没有找到任何文档。据我所知,如果你发送一个200来响应Range头,那么Content-Range头是没有意义的,因为你应该发送整个文件。换句话说,它可以被忽略;它只对206有意义。

为了回答您的另一个问题,因此,无论是否存在Content-Range,您都可以缓存200。还可以缓存带有Content-Range206

默认情况下,

A 206响应是可缓存的;即,除非显式缓存控制另有说明(参见RFC7234的4.2.2节)。

-- Section 4.1 of RFC 7233的最后一段。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43133321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档