Adding Support for HTTP/2 to HttpService

Hi Creators,

To improve networking functionality, we are adding support for HTTP/2 to HttpService. On September 15th, 2025, HttpService will start automatically using HTTP/2 if the server it is connecting to supports it.

A caveat of this feature that may affect your services is that when using HTTP/2, HttpService must convert all header names to lowercase in compliance with RFC 7540.

If your service supports HTTP/2 and depends on case-sensitive header names, then it will need to begin accepting case-insensitive header names in order to avoid interruptions. Header names will continue to be sent unmodified when using HTTP/1.1.

This change should not affect you if any of the following applies:

  • Your server does not support HTTP/2
  • Your server already checks header names in a case-insensitive way
  • You only use lowercase header names

HTTP/2 has numerous benefits, including more efficient bandwidth usage and multiplexing. Multiplexing allows multiple streams of data to be transferred using a single connection, lowering the number of connections needed and reducing load on both Roblox’s infrastructure and your HTTP servers.

Please share any feedback with us below. Thank you!

196 Likes

This topic was automatically opened after 10 minutes.

This is great! Big thanks to the entire team who put in the work.

Will we be seeing a related increase in limits? Are you also considering implementing QUIC?

19 Likes

Thanks For Adding This Roblox Team

11 Likes

When I saw “Adding support” and “HttpService” I was hoping it’s finally WebSockets, however this is also pretty cool

33 Likes

Great feature, thanks Roblox! :smiley:

2 Likes

This is amazing!

Will HTTP/2 have a newer rate limit structure with the introduction of multiplexing? If not, will multiplexed requests count as a single request towards the existing 500/min limitation? Or will all requests still count towards that limit, regardless of multiplexing?

Can we remove the HTTP limits from plugins and the command bar, I dont know why they’re even enforced on them.

15 Likes

Curious to see this small but fundamental change regarding networking.

Now that it’s officially supported, may as well use this new protocol when needed.

Will Streaming/SSE be supported any time soon?
(Similar to websockets, instead it is a long-living HTTP request with chunked responses)

5 Likes

Will this come with an increase to the ongoing http requests in Studio? Right now there’s a hard limit of 5 concurrent requests.

This has caused us some grief with Rojo because people will be using plugins with many long-lived HTTP requests and then come and complain that Rojo doesn’t work because we use long-polling to get updates from the server.

12 Likes

That sounds more like a problem that websockets would solve, but I agree that the limit should be heightened in studio (expect for playtesting).

5 Likes

Are there any other blockers left for devs to start adopting gRPC to communicate with their own servers?

1 Like

This is pretty cool. I feel like not as much emphasis is being put on the value HTTP/2 provides with multiplexing and what it means for bulk data transfer. Good stuff, huge thanks to the team for their work.

2 Likes

Finally, really excited everyone sees changes. Here, little enhancements performed.

1 Like

Took one hell of a long time. Nice to see.

Any outstanding changes (apart from the announcement) or should it “just work” ?

Are there any plans on adding other Http versions and or will you allow developers to add another param to specify what version they want to use

I’ve seen a number of users requesting for WebSocket protocol support within the Roblox platform. I understand there are a number of hurdles when it comes to allowing constant communication between servers over a single connection, which is why I am suggesting something different (atleast to start out):

I think a good way to try something like this out would be to allow use of the CONNECT request method which establishes an HTTP tunnel between the two servers. This would allow for direct communication with off platform servers, and potentially allow for things like cross platform play. Say if you had an instance of your game on the app store, steam, or another platform, this would allow users on those games to play with other users on Roblox, allowing devs to try a variety of different platforms, while also keeping presence on Roblox. This request method is actually the only one which Roblox does not currently support, and I think it would be a great addition to the current HTTP services Roblox offers!

2 Likes

when do we get higher texture limits😳

If I were to guess, no. HTTP/2 is backwards compatible with previous versions, and while if they ever did upgrade to HTTP/3 (which is not backwards compatible with HTTP/2 and earlier versions), there would be almost no real problems that arise because of this. It’s pretty much always best to use the latest STABLE versions of protocols like these (if it is within your technical limitations).

1 Like