On Sun, 16 Nov 2025 09:52:01 GMT, Daisuke Yamazaki <[email protected]> wrote:

>> Hi all,
>> 
>> [JEP 408](https://openjdk.org/jeps/408) introduced the Simple Web Server in 
>> Java 18, providing a minimal webserver for serving static files over HTTP.
>> 
>> [RFC 9110](https://www.rfc-editor.org/rfc/rfc9110.html#name-range-requests) 
>> defines "Range Requests" as an optional feature that allows clients to 
>> request a subset of a resource's content. Supporting Range requests in the 
>> context of JDK's Simple Web Server means enabling the server to serve only 
>> the requested portion of a static file.
>> 
>> This change contains:
>> 
>> 1. Enhances `sun.net.httpserver.simpleserver.FileServerHandler` in the 
>> `jdk.httpserver` module to support `Range` and `If-Range` headers.
>> 2. Calculates an `ETag` for each resource based on its last-modified date 
>> and file size and sends it to the client on demand for use with the 
>> `If-Range` header.
>> 3. Returns the `Accept-Ranges` header for all file retrievals, and 
>> `Content-Range` when a client requests a specific range.
>> 4. Adds a new constant `HTTP_RANGE_NOT_SATISFIABLE` to the `Codes` class to 
>> indicate invalid ranges.
>> 5. Returns `206 Partial Content` for valid ranges and `416 Range Not 
>> Satisfiable` for invalid ranges.
>> 6. Includes corresponding tests to verify correct behavior.
>> 
>> This enhancement was motivated by recent discussions on the net-dev mailing 
>> list, which requested support for Range requests along with example use 
>> cases: https://mail.openjdk.org/pipermail/net-dev/2025-April/026364.html
>> It was also discussed briefly on the net-dev mailing list: 
>> https://mail.openjdk.org/pipermail/net-dev/2025-October/028586.html
>
> Daisuke Yamazaki has updated the pull request with a new target base due to a 
> merge or a rebase. The pull request now contains 30 commits:
> 
>  - Merge branch 'master' into 8355572-support-http-range-header
>  - Fix HTTP Range header test case for invalid range format
>  - Add test case for duplicate and overlapping HTTP Range headers
>    
>    Co-authored-by: Daniel Fuchs <[email protected]>
>  - Replace IOException with EOFException for unexpected EOF in 
> FileServerHandler
>  - Throw IOException on unexpected EOF while reading file in FileServerHandler
>  - Implement range normalization for overlapping and contiguous HTTP Range 
> headers
>  - Add additional test cases for invalid HTTP Range header formats
>  - Refactor parsing of HTTP Range header to remove radix specification in 
> Long.parseLong calls
>  - Add assertion to ensure end range value valid in HTTP Range header 
> processing
>  - Allow unlimited splits when parsing HTTP Range header to detect trailing 
> commas
>  - ... and 20 more: https://git.openjdk.org/jdk/compare/f510b4a3...082a76dc

Hello all,

May I ask if there is any update on the review status of this PR, when 
convinient?
If the commit history is inconvinient for review, I'm happy to clean it up and 
resubmit.

Thank you for your time.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/28021#issuecomment-3683647134

Reply via email to