首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTP 206部分内容状态消息意味着什么,以及如何完全加载资源?

HTTP 206部分内容状态消息意味着什么,以及如何完全加载资源?
EN

Stack Overflow用户
提问于 2013-04-03 20:27:42
回答 4查看 116K关注 0票数 57

我在像这样的网站上有一些图片标签。

代码语言:javascript
复制
<img src="img.png"/>

当我试图加载它们时,它们只加载了一半。当我在网络控制台中检查请求时,我看到响应是:

206部分内容

我用谷歌搜索了一下,它说如果在标题中设置了一个范围,它将是这样的。但是这些头到底是在哪里设置的呢?如何避免这种情况并加载完整的图像?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-03 20:33:33

问题Why does Firebug show a "206 Partial Content" response on a video loading request?From user166390’s answer

当客户端已经请求一个范围时,可以从服务器发送该部分内容代码(

)(例如,“给我第一个2MB的视频数据”)。

它对于以块为单位下载数据至关重要,这样可以避免获取未使用的资源。(我很少在网上看完整的视频。)查看Range标头的传出请求。

票数 55
EN

Stack Overflow用户

发布于 2013-04-03 20:32:55

这取决于客户端进行另一个调用来获取剩余的数据(或下一位)。你不需要做任何事情,他们最终会得到完整的图像,即使需要几次http调用。

票数 8
EN

Stack Overflow用户

发布于 2019-03-25 09:45:29

首先:

HTTP 206 Partial Content成功状态响应代码指示请求已成功,并且其正文包含请求的数据范围,如请求的Range头部中所述。

如果只有一个范围,则将整个响应的Content-Type设置为文档的类型,并提供一个Content-Range

如果发回几个范围,则将Content-Type设置为multipart/byteranges,并且每个片段覆盖一个范围,并使用Content-RangeContent-Type描述它。

(From Mozilla's excellent HTTP status code reference.)

接下来:

资源上设置的HTTP标头通常由web服务器设置。但是,如果文件很大,如正在加载的资源的视频文件the browser can request a chunk。通常会从客户端发起的请求中返回HTTP 206标头。在apache中设置的资源标头是在httpd.confmod_headers部分中设置的。查找以下行,查看是否打开了部分内容:

代码语言:javascript
复制
Header set Accept-Ranges bytes

这一部分控制由apache设置的头的行为,因此它将是一个很好的起点。

然而,可以通过许多不同的方式来设置标头。例如,在使用apache时,您可以控制加载的图像,以便它们可以进行缓存。这可以使用[a2enmod module][2]来完成。这将减少服务器上的负载。

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

https://stackoverflow.com/questions/15787380

复制
相关文章

相似问题

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