pippo
pippo copied to clipboard
The embedded Jetty implementation should use HTTP2
We can do this by setting our own Jetty instance that we configure, but I can't see a reason to not enable HTTP2 by default for Jetty, can anyone else?
This is a good example of setting Jetty up correctly for it: https://github.com/fstab/http2-examples/blob/master/jetty-http2-server-example/src/main/java/de/consol/labs/h2c/examples/server/Http2Server.java
Oh, here is one potential reason:
// In order to run this, you need the alpn-boot-XXX.jar in the bootstrap classpath
Might be solvable though in a way that makes sense.
I guess more broadly, are there any plans to move to Servlet 4.0 to really leverage some of HTTP/2's new features?
In this post you can see that I'm OK to switch from Servlet 3.x to Servlet 4.0 if this move brings something valuable on the table.
Ah got ya. Ya unless I'm misunderstanding things as well, to really take advantage of server push, Pippo would need a way of parsing the intended HTML output, and enumerating the resources that were going to be needed, That might take some work.
However just re-using HTTP connections would help reduce overhead a lot. I just finished tuning my application to be able to run on a 512MB dyno on Heroku, and boy was it tough to get under that limit. Anything we can do to shrink the footprint of the http server would be a big win.
Ah got ya. Ya unless I'm misunderstanding things as well, to really take advantage of server push, Pippo would need a way of parsing the intended HTML output, and enumerating the resources that were going to be needed, That might take some work.
Already done. See https://github.com/pippo-java/pippo/issues/490#issuecomment-456983492.
Wow great work!!