Closed7
PythonでのHTTP/2について調べてみる

この辺にコンセプトが書いてあるので勉強になった。

PythonだとhttpxがHTTT/2のクライアントとして対応している

こちらでHTTP/2のPython Serverを作る話が紹介されている。

Hypercorn HTTP/2対応のPython WSGIサーバー。

PythonベースのHTTP/2 Protocol

PythonでHTTP/2について調べていると、ASGIという言葉が出てくる。
ASGIの定義が、PEPにあるのかな、と思って探したところ、次の記事を発見した。

ASGIについて
ASGIは、Pythonアプリケーションが複数のプロトコルを扱う標準的なインターフェースを定義している。
ASGIのゴール
既存のWSGIサーバーと互換性を保ちつつ、HTTP/2, WebSocketを既存のHTTP処理のように扱えるようにすること
ASGIの構成
ASGIは、以下の二つから構成される。
- プロトコルサーバー
- アプリケーション
WSGIと同じ点
- サーバーはアプリケーションをホストする。
- リクエストをアプリケーションにディスパッチする。
WSGI と違う点
- アプリケーションは非同期の callable である。(WSGIの場合は、同期的なcallable)
- 非同期のイベントメッセージを受け取り、サーバーと通信する。
ASGIアプリケーションの要件
- asyncio互換で実行する必要がある。(asyncio互換=async / await互換)
WSGIと異なる概念
ASGIでは、次の二つの概念がある。
- connection scope
- Event
このスクラップは2022/12/22にクローズされました