WSGI

استانداردی برای ارتباط میان برنامه وب Python و server است که نحوه دریافت درخواست و برگرداندن پاسخ را مشخص می‌کند.

توضیح

در WSGI،؜ برنامه وب یک callable است که server آن را برای پردازش درخواست فراخوانی می‌کند. server اطلاعات درخواست را در environ و تابعی به نام start_response را به برنامه می‌دهد. برنامه با این تابع status و header‌های پاسخ را مشخص می‌کند و محتوای پاسخ را به‌شکل یک iterable از bytes برمی‌گرداند. این قرارداد اجازه می‌دهد برنامه و server سازگار با WSGI،؜ مستقل از جزئیات داخلی هم کار کنند.

مثال

def application(environ, start_response):
    start_response("200 OK", [("Content-Type", "text/plain")])
    return [b"Hello, world!"]

چرا مهم است

هنگام اجرای برنامه وب Python روی server با WSGI روبه‌رو می‌شوی. شناخت این قرارداد کمک می‌کند نقش برنامه و server را جدا کنی و بفهمی درخواست و پاسخ چطور میان آن‌ها جابه‌جا می‌شوند.

این کارت را هوش مصنوعی نوشته و دو بار با هوش مصنوعی بررسی شده است.

مطالبی با این مفهوم

  1. Muru

    نگاهی به Muru؛ اجرای برنامه‌های Python با مدل مشترک توسعه و production

    Graham Dumpleton در معرفی عملی Muru،؜ نصب و اجرای یک برنامه WSGI را نشان می‌دهد؛ از تفکیک زمان انتظار درخواست و اجرای برنامه تا reload با آماده‌سازی worker جدید.

    یادگیری: ۴ مفهومافزوده‌شده grahamdumpleton.me

  2. Muru

    از بیست سال mod_wsgi تا Muru؛ مسیر تازه Graham Dumpleton برای اجرای برنامه‌های Python

    Graham Dumpleton از Muru می‌گوید؛ سیستم در حال توسعه‌ای برای اجرای برنامه‌های Python که به Apache وابسته نیست و WSGI،؜ ASGI و gRPC را کنار هم پشتیبانی می‌کند.

    یادگیری: ۵ مفهومافزوده‌شده grahamdumpleton.me