WSGI

WSGI

WSGI (англ. Web Server Gateway Interface, обычно произносится сообществом как «висги» или «виски»[1][2][3]) — стандарт взаимодействия между Python-программой, выполняющейся на стороне сервера, и самим веб-сервером, например, Apache.

Содержание

Идея

В Python существует большое количество различного рода веб-фреймворков, тулкитов и библиотек. Для каждого из них — собственный метод установки и настройки, они не умеют взаимодействовать между собой. Это может стать проблемой для тех, кто только начинает изучать Python, так как, например, выбор определённого фреймворка может ограничить выбор веб-сервера, и наоборот.

WSGI предоставляет простой и универсальный интерфейс между большинством веб-серверов и веб-приложениями или фреймворками.

Спецификации

По стандарту, WSGI-приложение должно удовлетворять следующим требованиям:

  • должно быть вызываемым (callable) объектом (обычно это функция или метод)
  • принимать два параметра:
    • словарь переменных окружения (environ)
    • обработчик запроса (start_response)
  • вызывать обработчик запроса с кодом HTTP-ответа и HTTP-заголовками
  • возвращать итерируемый объект с телом ответа

Простейшим примером WSGI-приложения может служить такая функция-генератор:

 def simplest_wsgi_app(environ, start_response):
     start_response('200 OK', [('Content-Type', 'text/plain')])
     yield 'Hello, world!'

Middleware

Помимо приложений и серверов, стандарт дает определение middleware-компонентов, предоставляющих интерфейсы как приложению, так и серверу. То есть для сервера middleware является приложением, а для приложения — сервером. Это позволяет составлять «цепочки» WSGI-совместимых middleware.

Middleware могут брать на себя следующие функции (но не ограничиваются этим):

Совместимы с WSGI

Конечные приложения

Веб-фреймворки и серверы приложений

Библиотеки

  • Python Paste — библиотека компонент для работы с WSGI-приложениями

Аналоги

Примечания

Ссылки

Литература

  • James Gardner The Definitive Guide to Pylons. — Apress, 2008. — 568 с. — P. 369-388. — ISBN 9781590599341



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "WSGI" в других словарях:

  • WSGI — steht für: Web Server Gateway Interface, ein Standard Interface zwischen Webservern und Web Application Frameworks bzw. Web Application Servern WS GI steht für: Gaga ifomauga, ISO 3166 2 Code des samoanischen Kreises Diese Seite ist eine …   Deutsch Wikipedia

  • WSGI — WindStar Group, Inc. (Business » Firms) ** Washtenaw Smart Growth Initiative (Community) * Woodside Summit Group, Inc. (Business » Firms) * Wintech Staffing Group, Inc. (Business » Firms) …   Abbreviations dictionary

  • Mod wsgi — ist ein Modul für den Apache HTTP Server, das die Ausführung von Python Programmen durch den Webserver ermöglicht. WSGI ist eine allgemeine Schnittstelle zwischen Webserver und Python Anwendungen. mod wsgi macht eine Vermittlungsschicht zwischen… …   Deutsch Wikipedia

  • Mod wsgi — est un module pour le Serveur HTTP Apache qui fournit une interface compatible WSGI pour l hébergement d application web pour Python (à partir de la version 2.3). C est une alternative à des solutions comme mod python, CGI ou FastCGI pour l… …   Wikipédia en Français

  • Mod wsgi — модуль для веб сервера Apache, который предоставляет WSGI совместимый интерфейс для работы с web приложениями, написанными на языке программирования Python. Разрабатывается Грэмом Дамплтоном (ранее, один из разработчиков mod python[1]) Содержание …   Википедия

  • Mod wsgi — is an Apache HTTP Server module that provides a WSGI compliant interface for hosting Python 2.3+ based web applications under Apache.External links* [http://code.google.com/p/modwsgi/ Official mod wsgi website] * [http://hex… …   Wikipedia

  • Web Server Gateway Interface — The Web Server Gateway Interface defines a simple and universal interface between web servers and web applications or frameworks for the Python programming language.IdeaHistorically Python web application frameworks have been a problem for new… …   Wikipedia

  • Python Paste — Python Paste, often simply called paste, is a set of utilities for web development in Python. Paste has been described as a framework for web frameworks [http://reddit.com/r/programming/info/ehyf/comments/ceifh] . WSGI middleware To understand… …   Wikipedia

  • mod_wsgi — ist ein Modul für den Apache HTTP Server, das die Ausführung von Python Programmen durch den Webserver ermöglicht. WSGI ist eine allgemeine Schnittstelle zwischen Webserver und Python Anwendungen. mod wsgi macht eine Vermittlungsschicht zwischen… …   Deutsch Wikipedia

  • CherryPy — Developer(s) CherryPy team Stable release 3.2.0 / February 25, 2011; 8 months ago (2011 02 25) Written in Python …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»