الوحدة wsgiref
في بايثون
تعدّ واجهة بوابة مخدّم الويب Web Server Gateway Interface وتختصر إلى (WSGI) واجهة معيارية بين برنامج مخدّم الويب وتطبيقات الويب المكتوبة بلغة بايثون. إن وجود واجهة معيارية يسهّل من استخدام التطبيقات التي تدعم WSGI مع العديد من مخدّمات الويب المختلفة.
إن كنت ترغب في إنشاء مخدّم ويب أو إطار عمل برمجي فيتحتّم عليك حينئذ أن تحيط بكلّ تفاصيل WSGI، ولكن إن كنت ترغب في تثبيت أحد التطبيقات التي تدعم WSGI أو كتابة تطبيق ويب باستخدام إحدى أطر العمل المتوفّرة فلن تكون بحاجة حينئذٍ إلى استيعاب كل تلك التفاصيل.
تعدّ الوحدة wsgiref
وسيلة لتطبيق معايير WSGI ويمكن استخدامها لإضافة دعم WSGI إلى مخدّمات الويب وأطر العمل. البرمجية. تقدّم هذه الوحدة أدوات لمعالجة متغيرات البيئة في WSGI وترويسات الإجابة response headers، وتقدّم أصنافًا اساسية لاستخدام مخدّمات WSGI، ومخدّم HTTP عام والذي يخدم تطبيقات WSIG، وأداة للتحقق من توافق مخدّمات وتطبيقات WSGI مع معايير WSGI (PEP 3333).
راجع wsgi.readthedocs.io للاطلاع على المزيد من المعلومات حول WSGI، والوصول إلى بعض الروابط الخاصّة بالدروس التعليمية والمصادر المتعلّقة بهذا الشأن.
الوحدة wsgiref.util
تقدّم هذه الوحدة مجموعة متنوعة من الدوال التي تساعد في التعامل مع بيئات WSGI. بيئة WSGI هي قاموس يتضمّن متغيرات طلب HTTP وبحسب ما هو موصوف في PEP 3333. تتوقع جميع الدوال التي تأخذ المعامل environ
تزويدها بقاموس متوافق مع WSGI. يمكن مراجعة PEP 3333 للاطلاع على المزيد من التفاصيل.
الوحدة wsgiref.headers
تقدّم هذه الوحدة الصنف Headers
والذي يُستخدم لمعالجة ترويسات الاستجابة response headers في WSGI وذلك باستخدام طريقة مشابهة للقواميس.
الوحدة wsgiref.simple_server
تستخدم هذه الوحدة مخدّم HTTP بسيط (بالاستناد على http.server) وظيفته تخديم تطبيقات WSGI. تخدّم كل نسخة من المخدّم تطبيق WSGI واحد على مضيف host ومنفذ port معين. إن كنت ترغب في تخديم تطبيقات متعددة على مضيف ومنفذ واحد، فيجب عليك إنشاء تطبيق WSGI يفسّر قيمة المتغير PATH_INFO لاختيار التطبيق الذي سينفّذ مع كلّ طلب. (يمكن مثلًا استخدام الدالة shift_path_info() من وحدة wsgiref.util).
الوحدة wsgiref.validate
تقدّم هذه الوحدة دالة تُنشئ كائن تطبيق WSGI وتتحقّق من تواصله مع مخدّم أو بوابة WSGI لضمان مطابقة الجانبين للبروتوكول.
الوحدة wsgiref.handlers
تقدّم هذه الوحدة أصناف معالجة أساسية لاستخدام مخدّمات وبوابات WSGI. تعالج هذه الأصناف الجزء الأكبر من عملية التواصل مع تطبيق WSGI ما دامت في بيئة مشابهة لبيئة CGI وإلى جانب تدفّقات المدخلات والمخرجات والأخطاء.