Skip to content

Generalize Render Response resource push to allow modern mechanisms (HTTP 103 Early Hints)#2174

Merged
BalusC merged 1 commit into
5.0from
issue_2173
May 22, 2026
Merged

Generalize Render Response resource push to allow modern mechanisms (HTTP 103 Early Hints)#2174
BalusC merged 1 commit into
5.0from
issue_2173

Conversation

@BalusC
Copy link
Copy Markdown
Member

@BalusC BalusC commented May 22, 2026

What

Rewords the Render Response requirement in §2.2.6 (RequestProcessingLifecycle.adoc) so it no longer mandates the deprecated Jakarta Servlet Server Push API.

  • mustshould
  • Drop the reference to the deprecated "Jakarta Servlet Server Push API" (PushBuilder / newPushBuilder()) and the "Jakarta Servlet 4.0 or later" version gate
  • Name HTTP 103 Early Hints (RFC 8297) as the example mechanism; the wording stays mechanism-neutral and leaves the choice (and whether to apply the optimization at all) to the implementation and container/connection capabilities
  • Keep the ordering constraint: hints/pushes must be issued before any of the HTML is rendered

Also adds a ChangeLog entry under the 5.0 backwards-compatible changes.

Why

The previous text mandated pushing resources via the Jakarta Servlet Server Push API, which is now deprecated, and HTTP/2 Server Push is no longer honored by browsers (removed from Chrome 106, Oct 2022; never shipped by others) — so the must mandated a no-op against a deprecated API.

HTTP/2 Server Push is intentionally not named as an example, to avoid enshrining a defunct technology in a forward-looking spec (see issue discussion). It remains permitted via the non-exhaustive "such as" wording.

Closes #2173

The Render Response phase (section 2.2.6) mandated pushing view resources
using the Jakarta Servlet Server Push API. That API (PushBuilder /
newPushBuilder) is deprecated, and HTTP/2 Server Push is no longer honored
by browsers, so the requirement mandated a no-op.

Reword the requirement to be mechanism-neutral: soften must to should, drop
the deprecated API mandate and the Servlet 4.0 version gate, and name HTTP
103 Early Hints (RFC 8297) as the example mechanism. The choice of mechanism
and whether to apply the optimization is left to the implementation.

Closes #2173

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@BalusC BalusC changed the base branch from master to 5.0 May 22, 2026 12:00
@BalusC BalusC requested review from arjantijms and tandraschko May 22, 2026 12:01
@tandraschko
Copy link
Copy Markdown

+1

if you implemented it in mojarra, please let me know
i try to port it myfaces then

@BalusC BalusC merged commit 49385c9 into 5.0 May 22, 2026
1 check passed
@BalusC BalusC deleted the issue_2173 branch May 22, 2026 13:37
@BalusC
Copy link
Copy Markdown
Member Author

BalusC commented May 22, 2026

+1

if you implemented it in mojarra, please let me know i try to port it myfaces then

Draft PR: eclipse-ee4j/mojarra#5748

@BalusC BalusC added this to the 5.0 milestone May 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Generalize the Render Response server-push requirement to allow modern mechanisms (HTTP 103 Early Hints)

2 participants