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!
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?
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.
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.
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!
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).