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 را جدا کنی و بفهمی درخواست و پاسخ چطور میان آنها جابهجا میشوند.
مفهومهای مرتبط
این کارت را هوش مصنوعی نوشته و دو بار با هوش مصنوعی بررسی شده است.
مطالبی با این مفهوم
- Muru

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

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