Proposal: 8355572: Implement Range header support for jwebserver
Daisuke Yamazaki
d.yamazaki at peya.tokyo
Sun Oct 26 13:49:45 UTC 2025
Hello,
Thank you for your support and the helpful suggestions.
I will explore possible implementation approaches for adding Range header support.
If I can get it working successfully, I plan to submit a Pull Request for review.
In the meantime, I will wait for any further feedbackon the proposal by anyone.
Best regards,
D. Yamazaki
---- On Fri, 24 Oct 2025 00:11:58 +0900 Daniel Fuchs <daniel.fuchs at oracle.com> wrote ---
> Hi,
>
> I would support investigating adding support for Range header in
> the FileServerHandler.
>
> In the HttpClient, we have recently added a new
> BodyPublishers.ofFileChannel() request publisher as a
> potential building block to ease implementation of
> partial/resumable file uploads in applications.
>
> We have nothing out of the box for resumable file downloads
> in the HttpClient API though.
>
> It would be good if you could use the HttpClient API
> in the unit tests you will develop. Maybe we could use
> that as an opportunity to learn whether some more building
> blocks of general utility could be added on the client
> side (in the future) to ease the implementation of applications
> that would have a need for Range headers, such as to implement
> a download manager for instance.
>
> best regards,
>
> -- daniel
>
>
> On 23/10/2025 15:49, Daisuke Yamazaki wrote:
> > Thank you for the clarification and context.
> >
> > I understand that there is a legitimate need for Range header support.
> > However, whether such a feature is necessary for the simple jwebserver is
> > still open for discussion.
> >
> > Nevertheless, while the benefits are clear, I do not see any significant
> > drawbacks apart from potential maintainability or slight code growth.
> > I personally think it would be reasonable to implement this feature.
> >
> > I plan to wait for a bit to allow further discussion, and if no objections
> > arise, I intend to proceed with the implementation.
> >
> > ---- On Thu, 23 Oct 2025 02:56:29 +0900 Ethan McCue <ethan at mccue.dev> wrote ---
> >
> > > Adding for context that there are legitimate usages for this that are within the jdk httpserver's remit of jwebserver and educational purposes. Cheerpj would let a student run their java code in a browser and requires range headers support.
> > >
> > > On Wed, Oct 22, 2025, 7:23 AM Daisuke Yamazaki <d.yamazaki at peya.tokyo> wrote:
> > >
> > > Hello all,
> > >
> > > I would like to work on implementing Range header support for jwebserver,
> > > related to JDK-8355572.
> > > Before I start working on it, i'd like to confirm whether it's okay for me to
> > > take this issue.
> > >
> > > Here's my current design idea:
> > >
> > > 1. Introduce a RangeEntry record inside FileServerHandler to represent
> > > each requested range
> > > 2. In FileServerHandler.serveFile(), detect the Range header and parse it into
> > > a list of RangeEntry objects.
> > > If parsing fails or the range is invalid, return 416 Range Not Satisfiable.
> > > 3. If multiple ranges are specified, generate a random boundary
> > > string and return a multipart/byteranges response.
> > >
> > > Please let me know if it’s okay for me to proceed with this implementation,
> > > or if there are any design points I should consider before starting.
> > >
> > > Thanks,
> > > D. Yamazak
> > >
> >
>
>
More information about the net-dev
mailing list