Closed7

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

matobamatoba

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

https://asgi.readthedocs.io/en/latest/specs/main.html

このスクラップは2022/12/22にクローズされました