Tamas Cservenak created MRESOLVER-308: -----------------------------------------
Summary: HTTP transport showdown Key: MRESOLVER-308 URL: https://issues.apache.org/jira/browse/MRESOLVER-308 Project: Maven Resolver Issue Type: Task Components: Resolver Reporter: Tamas Cservenak For HTTP protocol resolver currently provides following transports: * transport-wagon that uses Maven 2.x Wagon, that among other protocols supports HTTP/1.1 as well * transport-http that uses directly Apache HttpClient 4.x supporting HTTP/1.1 but provides enhancements in form of "checksum strategy" (almost all of remote repositories emit those in headers, sparing one HTTP round-trip) As we saw, is very easy to outperform these as: * Maven Central supports HTTP/1.1 but also HTTP/2 * HTTP/3 is on the way as well An experiment involving Jetty Client far outperformed both of existing transports, most probably due HTTP/2 support. So, clients we should consider: * Jetty Client * OkHTTP * Java 11 HttpClient Point is, to invest into something that (ideally) transparently supports HTTP/1.1 and HTTP/2, and more ideal would be if even HTTP/3 would be transparently supported (Jetty 12 works on that). We could then simply compare these implementations, count in pros and cons, and decide where we want to go, -- This message was sent by Atlassian Jira (v8.20.10#820010)