# HTTP 2.0 support in core http nodes?

**URL:** https://discourse.nodered.org/t/http-2-0-support-in-core-http-nodes/91255
**Category:** General
**Tags:** http-request
**Created:** [25 September 2024 13:06 UTC](https://discourse.nodered.org/t/http-2-0-support-in-core-http-nodes/91255 "2024-09-25T13:06:51Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![Josh](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/josh/32/62208_2.png) [@Josh](https://discourse.nodered.org/u/Josh)
#### Post date: [25 September 2024 13:06 UTC](https://discourse.nodered.org/t/http-2-0-support-in-core-http-nodes/91255/1 "2024-09-25T13:06:51Z")

</div>

Hi Forum,  
I'm working on a project using Node-RED and I'm curious about HTTP/2.0 support. I've been looking through the documentation but haven't found a definitive answer. Does Node-RED inherently support HTTP/2.0 protocol, or is there additional configuration required? Is there a way possible to achieve this?

Any insights or experiences you can share would be greatly appreciated. Thanks!

---

<div class="post-metadata">

### Author: ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)
#### Post date: [25 September 2024 13:53 UTC](https://discourse.nodered.org/t/http-2-0-support-in-core-http-nodes/91255/2 "2024-09-25T13:53:57Z")

</div>

Hi Josh,

No, Node-RED does not support HTTP/2.0. It isn't natively supported by the Express framework we run on top of. There isn't a clear path forward at this time, although it is being looked at by Express for their roadmap - [http/2 initiative · Issue #5462 · expressjs/express · GitHub](https://github.com/expressjs/express/issues/5462)

Nick

---

<div class="post-metadata">

### Author: ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)
#### Post date: [25 September 2024 20:05 UTC](https://discourse.nodered.org/t/http-2-0-support-in-core-http-nodes/91255/3 "2024-09-25T20:05:56Z")

</div>

I think there may be another impact? Doesn't websockets require http/1.1? Not sure if I've got that right.

Probably not insurmountable as an issue but might need another ExpressJS endpoint if using websockets and http/2.0 endpoints together.

---

<div class="post-metadata">

### Author: ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)
#### Post date: [26 September 2024 08:27 UTC](https://discourse.nodered.org/t/http-2-0-support-in-core-http-nodes/91255/4 "2024-09-26T08:27:08Z")

</div>

Oh, 1 other complication with http/2. While in theory you can use it without TLS encryption (called h2c I believe), I don't think all browsers support that (actually, it looks like no browsers do). So most likely, any implementation would have the added complexity of a TLS configuration.

http/3 absolutely requires TLS of course.

As for websockets, it looks like http/2 connections might also support 1.1, not sure how that would work in practice, it might still need 2 endpoints. But http/2 introduces server-sent streams - it looks like, once a client has accepted a stream, the stream becomes 2-way similar to websockets with 1 notable exception, server-sent streams do not support binary packets.

Clearly some new design thinking will be needed for Node-RED to successfully adopt http/2 and /3.

---

<div class="post-metadata">

### Author: ![Josh](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/josh/32/62208_2.png) [@Josh](https://discourse.nodered.org/u/Josh)
#### Post date: [26 September 2024 11:00 UTC](https://discourse.nodered.org/t/http-2-0-support-in-core-http-nodes/91255/5 "2024-09-26T11:00:56Z")

</div>

Thanks for the information people. Adopting to http2 would provide us with more faster api connections.

---

<div class="post-metadata">

### Author: ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)
#### Post date: [26 September 2024 11:21 UTC](https://discourse.nodered.org/t/http-2-0-support-in-core-http-nodes/91255/6 "2024-09-26T11:21:06Z")

</div>

It might be worth you thinking about a reverse proxy and whether that might help. I've not really played with http/2 or /3 but certainly proxies can help with performance and can offload dealing with TLS and caching for example. So probably worth a look anyway.

---

<div class="post-metadata">

### Author: ![Josh](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/josh/32/62208_2.png) [@Josh](https://discourse.nodered.org/u/Josh)
#### Post date: [27 September 2024 12:35 UTC](https://discourse.nodered.org/t/http-2-0-support-in-core-http-nodes/91255/7 "2024-09-27T12:35:20Z")

</div>

> [@TotallyInformation](#):
>
> proxy

So what I have done currently is using a apache server and reverse proxy it.

---

<div class="post-metadata">

### Author: ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)
#### Post date: [27 September 2024 16:00 UTC](https://discourse.nodered.org/t/http-2-0-support-in-core-http-nodes/91255/8 "2024-09-27T16:00:52Z")

</div>

Apache is a bit long in the tooth now I think. 🙂 I generally use NGINX. Caddy or LightHttp or HAProxy would also be usable. Apache tends to be a resource hog.

---

<div class="post-metadata">

### Author: ![Josh](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/josh/32/62208_2.png) [@Josh](https://discourse.nodered.org/u/Josh)
#### Post date: [1 October 2024 09:07 UTC](https://discourse.nodered.org/t/http-2-0-support-in-core-http-nodes/91255/9 "2024-10-01T09:07:49Z")

</div>

So whats the positive side of using nginx over apache?

---

<div class="post-metadata">

### Author: ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)
#### Post date: [1 October 2024 10:34 UTC](https://discourse.nodered.org/t/http-2-0-support-in-core-http-nodes/91255/10 "2024-10-01T10:34:58Z")

</div>

It is a much more modern approach and much better at using resources. Apache is a known resource hog and is quite long in the tooth. Also, not sure how much active development is happening on Apache. NGINX is certainly being actively developed.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)
#### Post date: [30 December 2024 10:35 UTC](https://discourse.nodered.org/t/http-2-0-support-in-core-http-nodes/91255/11 "2024-12-30T10:35:20Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
