Why does Firebug show a “206 Partial Content” response on a video loading request?

前端 未结 3 740
伪装坚强ぢ
伪装坚强ぢ 2020-12-01 13:08

I have a bunch of html5 video elements, with their preload attribute set to \"auto\". They start loading just fine, but I think there might be a problem with their caching,

3条回答
  •  暗喜
    暗喜 (楼主)
    2020-12-01 13:31

    This Partial Content code (206) may be sent from the server when the client has asked for a range (e.g. "give me the first 2MB of video data").

    It is vital for downloading data in chunks which avoids fetching unused resources. (I seldom watch a full video online.) Look at the outgoing request for a Range header.

    See Status Codes (RFC2616 - HTTP/1.1) (note that any 2xx code means "Success"):

    10.2.7 206 Partial Content:

    The server has fulfilled the partial GET request for the resource. The request MUST have included a Range header field (section 14.35) indicating the desired range, and MAY have included an If-Range header field (section 14.27) to make the request conditional.

    And from the Range header section:

    If the server supports the Range header and the specified range or ranges are appropriate for the entity

    • The presence of a Range header in an unconditional GET modifies what is returned if the GET is otherwise successful. In other words, the response carries a status code of 206 (Partial Content) instead of 200 (OK).

    I do not understand the intricicies of caching and/or ETags or what to expect in FireFox, however.

提交回复
热议问题