Open maxpatiiuk opened 1 year ago
Cannot be used without HTTPS, => https://github.com/specify/specify7/issues/2607 not wise to have different environments between development and production.
More context: Http2 can't really be used without HTTPs (https://github.com/specify/specify7/issues/2607) HTTPs wasn't added in development because that would additional configuration step to docker setup (https://github.com/specify/specify7/issues/2607#issuecomment-1474281215) Could enable Http2/Http3 just in production, but it's not advisable to have different configs between production and development (as then issues affecting just production would be uncaught)
From @grantfitzsimmons:
HTTP/2 is only supported over TLS (HTTPS).
Browsers impose a per-domain limit of 6-8 connections when using HTTP/1.1, depending on the browser implementation. This allows at most 6-8 concurrent requests per domain.
With HTTP/2, browsers open only 1 connection per domain. However, thanks to the multiplexing feature of the HTTP/2 protocol, the number of concurrent requests per domain is not limited to 6-8, but it is virtually unlimited.
Source: Stack Overflow
This would get around issues involved with the stats page being limited to 6-8 concurrent requests at a given time.
This would require self-hosted institutions and developers to create certificates in development as it requires TLS, but this is not difficult to set up for most users.
@maxpatiiuk @realVinayak – Please add more information, corrections, or comments if necessary :smile:
Quoting Max:
@realVinayak had great insight that this could possibly be caused by HTTP 1.1, as it has a limit of 6 simultaneous requests. We should test if this if fixed when the web server is updated to use http2 or even http3 instead - https://github.com/specify/specify7/issues/2608
These will bring performance improvements and future-proofing
Enabling them in dev containers and production containers would be great