206 partial content server error codes are received when a server has complete a partial GET inquiry for the source being requested from (known as the resource). In a 206 partial content, the request is required to include what is known as a range header area (or field) which sets the preferred Range and can also include a If-Range. An If-Range header area will then make a inquiry conditional upon completion.
The conditional response is required to include the following header areas:
- A Content-Range header field (section 14.16) indicating the range included with this response, or a multipart/byte-ranges Content-Type including Content-Range fields for each part. If a Content-Length header area is present in the response, its value MUST match the actual number of OCTETs transmitted in the message-body.
- ETag and/or Content-Location, if the header could be sent in a 200 response to the same request.
- Expires, Cache-Control, and/or Vary, if the field-value might be different from that sent in any prior response for the same variant.
Resolving A 206 Partial Content
In the situation that a 206 partial content error code response results in the If-Range area, then a strong cache validation system is used. A response must not include any other forms of entry-headers, as this will prevent discrepancies between the cache bodies and the headers themselves. In any other situation, the response is required to be inclusive of all the the entry-headers that would typically return a 200 response, which means OK.
The cache area is required not to combine a 206 partial content server error code response with any other prior cached content if the ETag or Last-Modified header areas do not match exactly.
In every request, a cache that doesn’t support the If-Range and Content-Range headers is required not to cache the 206 partial content responses, also known as partial responses.