SwiftNIO async APIs: case study

let’s transfer this facet of the discussion to the thread How to reap idle HTTP/2 connections in SwiftNIO? - #5 by taylorswift

i think the situation is different for servers and clients. there are some services like AWS S3 which are HTTP/1.1 only, so you need an HTTP/1.1 client to be able to interact with them. but i don’t think there are many (any?) legitimate reasons¹ to support HTTP/1.1 in server mode, nor is there usually a reason to dual-boot both protocols in client mode - there should be two separate interfaces and users should pick one based on what the remote service supports.

for what it’s worth, HTTP/2 over TCP isn’t exactly a “modern” stack either; it is slowly being supplanted by QUIC (“HTTP/3”). but last year the SSWG indicated they were deprioritizing QUIC.

[1] i suppose maybe if you were running a honeypot specifically to collect data about malicious scripts and crawlers, an HTTP/1.1 server would be useful. but i’m not convinced abstracting over both versions simultaneously is valuable.