slice module not handling 416

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

slice module not handling 416

Piers Haken
i'm trying to use the slice module to cache large files, as described here:


however, the slice module _always_ requests the full slice range regardless of the size of the file, and the servers that i'm proxying return "416 The requested range is not satisfiable" which seems to be the correct response as defined in https://tools.ietf.org/html/rfc7233#section-4.4.

I cannot change the behavior of those proxied servers, and i really need this to work. is there something else i can do to work around this?

_______________________________________________
nginx mailing list
[hidden email]
http://mailman.nginx.org/mailman/listinfo/nginx
Reply | Threaded
Open this post in threaded view
|

Re: slice module not handling 416

Roman Arutyunyan
Hi,

On Tue, Nov 06, 2018 at 08:21:01PM +0000, Piers Haken wrote:
> i'm trying to use the slice module to cache large files, as described here:
>
> https://guo365.github.io/study/nginx.org/en/docs/admin-guide/Web%20content%20cache.html#slice
>
> however, the slice module _always_ requests the full slice range regardless of the size of the file, and the servers that i'm proxying return "416 The requested range is not satisfiable" which seems to be the correct response as defined in https://tools.ietf.org/html/rfc7233#section-4.4.

The RFC states that 416 should be returned if the requested range does not
overlap the file.  This should not happen with the slice module.  Even the
last slice should overlap the file.

   The 416 (Range Not Satisfiable) status code indicates that none of
   the ranges in the request's Range header field (Section 3.1) overlap
   the current extent of the selected resource...

There are cases when the slice module does not even know the size of the file,
for example when requesting the first slice.

> I cannot change the behavior of those proxied servers, and i really need this to work. is there something else i can do to work around this?

--
Roman Arutyunyan
_______________________________________________
nginx mailing list
[hidden email]
http://mailman.nginx.org/mailman/listinfo/nginx