[nginx] Range filter: allowed ranges on empty files (ticket #1031).

胡聪 (hucc) hucong.c at foxmail.com
Thu Nov 9 21:11:50 UTC 2017


>details:   http://hg.nginx.org/nginx/rev/aeaac3ccee4f
>changeset: 7043:aeaac3ccee4f
>user:      Maxim Dounin <mdounin at mdounin.ru>
>date:      Tue Jun 27 00:53:46 2017 +0300
>Range filter: allowed ranges on empty files (ticket #1031).
>As per RFC 2616 / RFC 7233, any range request to an empty file
>is expected to result in 416 Range Not Satisfiable response, as
>there cannot be a "byte-range-spec whose first-byte-pos is less
>than the current length of the entity-body".  On the other hand,
>this makes use of byte-range requests inconvenient in some cases,
>as reported for the slice module here:
>This commit changes range filter to instead return 200 if the file
>is empty and the range requested starts at 0.

With this commit, the problem I mentioned is still unsolved.

Because we can not ask that the backend must be nginx, and it is
nginx who convert ordinary request to a range request in slice
module. So is there a safe solution?

More information about the nginx-devel mailing list