Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support http2 #1145

Open
hobinjk opened this issue Jun 27, 2018 · 8 comments
Open

Support http2 #1145

hobinjk opened this issue Jun 27, 2018 · 8 comments

Comments

@hobinjk
Copy link
Contributor

hobinjk commented Jun 27, 2018

  • Performance benefits
  • Support for Alt-Svc (ability to fall back to local domain securely)

Unfortunately, node's built-in support for http2 is still experimental so this likely should not be done until there's a stabler way to do it.

@sogaani
Copy link
Contributor

sogaani commented Aug 28, 2018

Node's built-in http2 has graduated from experimental. nodejs/node#22466
Unfortunately, http framework express used in the Gateway still not support http/2 and websocket over http2 is supported only Chrome.
I think there is some option to use http2.
As, fastly and koa alternative to express seems to support http2.
We might be able to use Server side event for the browser to watch things changes. Server side event does not depend on http version.

@benfrancis
Copy link
Member

Node's built-in http2 has graduated from experimental. nodejs/node#22466
Unfortunately, http framework express used in the Gateway still not support http/2 and websocket over http2 is supported only Chrome.

Good to know!

As, fastly and koa alternative to express seems to support http2.
We might be able to use Server side event for the browser to watch things changes. Server side event does not depend on http version.

I don't think we should switch our whole web app to fastly or koa just for this. I hope Express will get HTTP/2 support soon.

Server Sent Events are an interesting alternative to WebSockets which I know some W3C members have been using. Unfortunately they are not supported in IE or Edge yet, but you can vote for them here!

@mrstegeman
Copy link
Contributor

It looks like express should support HTTP/2 just fine: expressjs/express#2364

We'll have to wait until we make the switch to Node v10 (when it becomes LTS) to start using it, though, as it is still experimental in 8.X.

@sogaani
Copy link
Contributor

sogaani commented Aug 29, 2018

It looks like express should support HTTP/2 just fine: expressjs/express#2364

It is about spdy or node-http2. We can use those module. However, if we use build-in http2, we should wait expressjs/express#3390 landing.

Unfortunately they are not supported in IE or Edge yet, but you can vote for them here!

I vote it! Furthermore, SSE with IE or Edge has polyfill, if they not support.

@mrstegeman
Copy link
Contributor

@sogaani Ah! The comments in the other issue made it sound like it was just supported. That's confusing.

@benfrancis
Copy link
Member

It would be interesting to do a prototype/architectural spike with one of those packages to see if Martin's proposed local HTTPS solution works (#171 (comment)). If it does then this is something we could prioritise, maybe even contribute to getting HTTP/2 supported in Express sooner.

@mrstegeman
Copy link
Contributor

@sogaani is already trying to get HTTP/2 support for us 😄

@hobinjk
Copy link
Contributor Author

hobinjk commented Aug 30, 2018

PageKite should support HTTP2 with no major modifications. (I had a moment of doubt before I looked into it)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
WebThings Gateway
  
Product Backlog
Development

No branches or pull requests

4 participants