DnsServer icon indicating copy to clipboard operation
DnsServer copied to clipboard

Can compression protocols be added?

Open Potterli20 opened this issue 1 month ago • 8 comments

Such as: BR protocol and ZTSD protocol

Potterli20 avatar Nov 26 '25 03:11 Potterli20

Thanks for asking. If you mean to have it for the HTTP services then will get it enabled. However there is no support for ZTSD in kestrel web server yet.

ShreyasZare avatar Nov 26 '25 07:11 ShreyasZare

Thanks for asking. If you mean to have it for the HTTP services then will get it enabled. However there is no support for ZTSD in kestrel web server yet.

However, it seems that ASP.NET Core does support it: https://learn.microsoft.com/zh-cn/aspnet/core/performance/response-compression?view=aspnetcore-9.0

Potterli20 avatar Nov 26 '25 09:11 Potterli20

Thanks for asking. If you mean to have it for the HTTP services then will get it enabled. However there is no support for ZTSD in kestrel web server yet.

However, it seems that ASP.NET Core does support it: https://learn.microsoft.com/zh-cn/aspnet/core/performance/response-compression?view=aspnetcore-9.0

It supports BR algo but I don't see any mention of ZTSD.

ShreyasZare avatar Nov 26 '25 09:11 ShreyasZare

Thanks for asking. If you mean to have it for the HTTP services then will get it enabled. However there is no support for ZTSD in kestrel web server yet.

However, it seems that ASP.NET Core does support it: https://learn.microsoft.com/zh-cn/aspnet/core/performance/response-compression?view=aspnetcore-9.0

It supports BR algo but I don't see any mention of ZTSD.

It seems to be okay as well.

Potterli20 avatar Nov 26 '25 14:11 Potterli20

It would be best to have an option to choose from.

Potterli20 avatar Nov 26 '25 14:11 Potterli20

We'll have to wait for .NET 11, to be released on November 2026 according to this issue on dotnet runtime: https://github.com/dotnet/runtime/issues/59591

zbalkan avatar Nov 27 '25 10:11 zbalkan

It would be best to have an option to choose from.

The choice is done automatically by the client using Content-Encoding header in request. So no need to have additional option to configure it.

ShreyasZare avatar Nov 27 '25 13:11 ShreyasZare

It would be best to have an option to choose from.

The choice is done automatically by the client using Content-Encoding header in request. So no need to have additional option to configure it.

If it's fine to enable all by default, that would be great. Because I just noticed that HTTP is using gzip 😂

Potterli20 avatar Nov 27 '25 14:11 Potterli20

Technitium DNS Server v14.3 is now available which fixes this issue. Do update and let me know your feedback.

ShreyasZare avatar Dec 21 '25 09:12 ShreyasZare

Technitium DNS Server v14.3 is now available which fixes this issue. Do update and let me know your feedback.

Image Image Image

Is there no BR agreement?

Potterli20 avatar Dec 21 '25 12:12 Potterli20

Mine is showing

Image

Hemsby avatar Dec 21 '25 12:12 Hemsby

@Potterli20 Its been enabled for the admin web service and not for the DoH web service. Also, your web browser is asking only for gzip and deflate, and probably do not support BR algorithm.

ShreyasZare avatar Dec 21 '25 12:12 ShreyasZare

I'm using http, not https. I don't know if this is related.

Potterli20 avatar Dec 21 '25 12:12 Potterli20

@Potterli20 Its been enabled for the admin web service and not for the DoH web service. Also, your web browser is asking only for gzip and deflate, and probably do not support BR algorithm.

Is there any way to test it out?

Potterli20 avatar Dec 21 '25 12:12 Potterli20

I'm using http, not https. I don't know if this is related.

It works for HTTP too.

ShreyasZare avatar Dec 21 '25 12:12 ShreyasZare

Is there any way to test it out?

Yes, you use the same web browser development tools when you visit the admin panel. But since your browser supports only gzip and deflate, the server would select gzip in response.

ShreyasZare avatar Dec 21 '25 12:12 ShreyasZare

Image Image

I don't know what the problem is either.

Potterli20 avatar Dec 21 '25 13:12 Potterli20

It's okay. I've seen that others have already enabled it all by default. Hahaha

Potterli20 avatar Dec 21 '25 13:12 Potterli20

I don't know what the problem is either.

In these screenshots, you are just seeing the request part. You need to see the response headers in the section above it.

ShreyasZare avatar Dec 21 '25 13:12 ShreyasZare

See the headers that I see using Firefox browser. Notice that the transferred file size is smaller than the actual file size being downloaded.

Image

ShreyasZare avatar Dec 21 '25 13:12 ShreyasZare

See the headers that I see using Firefox browser. Notice that the transferred file size is smaller than the actual file size being downloaded. Image

I couldn't test it this way. I'm using the podman container and the http protocol.

Potterli20 avatar Dec 21 '25 13:12 Potterli20

With HTTP only gzip and deflate algorithms work as seen in my test below:

Image

ShreyasZare avatar Dec 21 '25 13:12 ShreyasZare

With HTTP only gzip and deflate algorithms work as seen in my test below: Image

Then I roughly understand that on http, only the gzip and deflate algorithms are supported. But I only use http.😂😂

Potterli20 avatar Dec 21 '25 14:12 Potterli20

With HTTP only gzip and deflate algorithms work as seen in my test below: Image

Can't all http protocols be enabled by default?

Potterli20 avatar Dec 21 '25 14:12 Potterli20

Then I roughly understand that on http, only the gzip and deflate algorithms are supported. But I only use http.😂😂

Ya, on HTTP only gzip and deflate works. For the newer algorithms, HTTPS is required.

Can't all http protocols be enabled by default?

The web server already has them enabled. Its the web browser which has to request for them in Accept-Encoding header. Browsers only use gzip and deflate when sending request to HTTP only URLs so web server has to respond using one of them.

ShreyasZare avatar Dec 22 '25 10:12 ShreyasZare

But it's also rather strange. On the Windows 11 Home Edition, open the HTTP protocol separately by default, including Zstd.

Potterli20 avatar Dec 22 '25 12:12 Potterli20

But it's also rather strange. On the Windows 11 Home Edition, open the HTTP protocol separately by default, including Zstd.

Some web browsers may have support for it while others not. So its totally client side issue and that the web server has all compression algorithms enabled.

ShreyasZare avatar Dec 22 '25 12:12 ShreyasZare

Image

Potterli20 avatar Dec 22 '25 12:12 Potterli20

You are testing this with IIS web server so not sure about it and it may need some config to enable those compression algorithms.

ShreyasZare avatar Dec 22 '25 12:12 ShreyasZare