Research HTTP/2 support and protocol negotiation
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Dokumentation
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- rust
- Bereich
- cli, networking
Rechercherichtung
Beginne mit Cargo.toml und src/http.rs, um die aktuelle Konfiguration und das Connector-Setup, die nur HTTP/1 unterstützen, zu überprüfen. Untersuche die aufgeführten Fragen zur Interoperabilität, zu Ressourcen, zur Aushandlung, zum Pooling und zum Protokollverhalten über die unterstützten Targets hinweg. Als abgeschlossen gilt die Arbeit, wenn eine dokumentierte Empfehlung zu HTTP/2, gemessene Abwägungen, ein Implementierungsplan für den Fall, dass Unterstützung empfohlen wird, und eine aktualisierte öffentliche Laufzeitdokumentation vorliegen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Context
The current HTTP stack enables only the http1 features in Cargo.toml and constructs its connector with enable_http1() in src/http.rs. HTTP/1.1 is widely interoperable, but HTTP/2 can improve connection reuse, multiplexing, and header compression, and some services or protocols require it.
Adding HTTP/2 also has costs and design questions. It introduces more code and dependencies into every statically linked application, and the host currently creates a new Hyper client for each request, which limits the benefit of multiplexing and connection pooling.
Research questions
Investigate and document:
- actual interoperability or performance needs for HTTP/2 in basic-cli applications;
- binary-size, compile-time, memory, and runtime costs on every supported target;
- supporting HTTP/1.1 and HTTP/2 through TLS ALPN negotiation versus exposing an explicit protocol choice;
- whether cleartext HTTP/2 (
h2c) is in scope; - whether the HTTP client should be shared across requests to make connection pooling and HTTP/2 multiplexing useful;
- request, response, timeout, and error behavior that may differ by protocol;
- tests for HTTP/1.1 fallback, successful HTTP/2 negotiation, and protocol-specific failures.
Desired outcome
Record whether basic-cli should support HTTP/2, with a recommendation and measured tradeoffs. If support is recommended, define an implementation plan that preserves HTTP/1.1 compatibility and keeps the public API and runtime behavior explicit.
Keep the public runtime documentation updated with the chosen behavior.
Related work
- #448 documents the current HTTP/1-only behavior.
- #436 tracks bounded HTTP response bodies.
- #438 tracks stable HTTP transport error classification.
- Vorherrschende Sprache
- Rust
- Sterne
- 121
- Forks
- 45
- Ø Merge
- 19 Std. 1 Min.
- Gemergte PRs (30 T.)
- 16
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus roc-lang/basic-cli
-
Unix socket supportOffen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 52/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 32/100
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in roc-lang/basic-cli
Ähnliche Issues
-
bug CLI exec tool-calls
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
maintainer-needed p2 triaged ui windows
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
Maintainer antworten meist innerhalb von 1 Tag
-
ai_p2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
ClickHouse/ClickHouse#123351 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
github/copilot-sdk#2804 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag