Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Research HTTP/2 support and protocol negotiation

Offen
#455 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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

enhancement

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

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus roc-lang/basic-cli

Alle Issues in roc-lang/basic-cli

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.