ドキュメント#

poseidon-http-client は、HTTP/1.1・HTTP/2・HTTP/3 をスクラッチで実装した Go 向けの低レベル HTTP クライアントです。フレーミング、HPACK、QPACK、QUIC スタックをすべて自前で持ち、net/http もサードパーティのプロトコルライブラリも使いません。3 つのプロトコルバージョンはすべて同一の Do/DoStream API の背後にあります。トランスポートを選ぶだけで、リクエストのコードは変わりません。以下のページでは、インストール手順、検証済みサンプル付きのプロトコル別ページ、トランスポート間で共通の機能(プーリング、サービスディスカバリ、リトライ、レートリミット、フック、メトリクス)、そしてファーストリリースをセキュリティ上重要な環境で使う前に必ず読むべき免責事項を扱います。

  • Getting started — インストール、動作要件、最初のリクエスト。
  • HTTP/1.1 — 単一コネクショントランスポート、TLS ダイヤラの設定、ALPN フォールバック。
  • HTTP/2 — 単一コネクション・プール・ディスカバリ管理の各クライアント、ストリーミングとフロー制御。
  • HTTP/3 — QUIC ベースのクライアント、動的 QPACK、NewReno/BBR 輻輳制御。
  • 機能 — リクエスト API、プーリング、Resolver/Selector によるディスカバリ、リトライ、レートリミット、フック、メトリクス。
  • 免責事項 — 本プロジェクトにおける「ファーストリリース」の意味と、脆弱性の報告方法。