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

Add WebSockets compressions support #2715

Closed
aspnet-hello opened this issue Jan 2, 2018 · 9 comments · Fixed by #32600
Closed

Add WebSockets compressions support #2715

aspnet-hello opened this issue Jan 2, 2018 · 9 comments · Fixed by #32600
Assignees
Labels
affected-few This issue impacts only small number of customers api-needs-work API needs work before it is approved, it is NOT ready for implementation area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions enhancement This issue represents an ask for new feature or an enhancement to an existing one feature-http-abstractions severity-major This label is used by an internal tool
Milestone

Comments

@aspnet-hello
Copy link

From @vanillajonathan on Monday, September 19, 2016 2:26:50 PM

The WebSocket class does not have support for extensions. Which is part of the rfc6455 standard:
https://tools.ietf.org/html/rfc6455#section-9

It should read the Sec-WebSocket-Extensions HTTP header from the client.

The WebSocket class does not expose a Extensions property.

Copied from original issue: aspnet/HttpAbstractions#711

@aspnet-hello
Copy link
Author

From @vanillajonathan on Monday, September 19, 2016 2:30:48 PM

Depends on upstream support in System.Net.WebSockets.

Depends on issue dotnet/corefx#11874.

@aspnet-hello
Copy link
Author

From @Tratcher on Monday, September 19, 2016 8:10:27 PM

Did you have any specific extensions you want to use?

@aspnet-hello
Copy link
Author

From @vanillajonathan on Tuesday, September 20, 2016 1:36:44 AM

No, this exposes to the server the extension(s) that the client requests.
Then the server have to negotiate with the client and send back which extensions it supports.

Then any extension has to be implemented by the client and the server on top of this which only exposes the requested extension.

@aspnet-hello
Copy link
Author

From @Tratcher on Tuesday, September 20, 2016 2:38:29 PM

Note this hasn't been done yet because there has been little interest expressed for any websocket extensions. We're unlikely to add the the property if we don't think it will actually get used.

@0x53A
Copy link

0x53A commented Sep 3, 2020

Just wanted to say that I am interested in having websocket compression support.

I assume that compression - just like other performance related stuff - is not something people actively express their interest in, until their app becomes too slow.

This would probably a big win for signal-r and a lot of other libraries using websockets.

@Tratcher
Copy link
Member

Tratcher commented Sep 3, 2020

Fyi the runtime prerequisites are tracked by dotnet/runtime#20004

@Tratcher Tratcher added the blocked The work on this issue is blocked due to some dependency label Nov 11, 2020
@Tratcher Tratcher added affected-few This issue impacts only small number of customers enhancement This issue represents an ask for new feature or an enhancement to an existing one severity-major This label is used by an internal tool labels Nov 11, 2020 — with ASP.NET Core Issue Ranking
@Tratcher
Copy link
Member

Tratcher commented Jan 6, 2021

A new WebSocket compression API was approved in Runtime for 6.0: dotnet/runtime#31088 (comment)

We'll need to react to this. Bumping out of backlog but keeping it as blocked.

@Tratcher Tratcher removed this from the Backlog milestone Jan 6, 2021
@BrennanConroy BrennanConroy added this to the Next sprint planning milestone Jan 6, 2021
@ghost
Copy link

ghost commented Jan 6, 2021

Thanks for contacting us.
We're moving this issue to the Next sprint planning milestone for future evaluation / consideration. We will evaluate the request when we are planning the work for the next milestone. To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

@Tratcher
Copy link
Member

dotnet/runtime#49304 has merged with new compression support. We should pick up a new runtime with the changes shortly.

@BrennanConroy BrennanConroy added the api-needs-work API needs work before it is approved, it is NOT ready for implementation label Apr 28, 2021
@BrennanConroy BrennanConroy changed the title WebSockets does not have support for extensions Add WebSockets compressions support Apr 28, 2021
@BrennanConroy BrennanConroy self-assigned this Apr 28, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Jun 26, 2021
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Jun 2, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
affected-few This issue impacts only small number of customers api-needs-work API needs work before it is approved, it is NOT ready for implementation area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions enhancement This issue represents an ask for new feature or an enhancement to an existing one feature-http-abstractions severity-major This label is used by an internal tool
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants