WSGIWSGI (англ. Web Server Gateway Interface, вимовляється віскі або візґі[1]) — стандарт взаємодії між Python-програмою, яка виконується на стороні сервера, і самим вебсервером, наприклад, Apache. ІдеяВ Python існує велика кількість різного роду вебфреймворків, інструментаріїв і бібліотек. У кожного з них — власний метод встановлення та налаштування, вони часто написані так, що не можуть взаємодіяти між собою. Це може стати проблемою, бо вибір фреймворку може обмежити вибір вебсервера і навпаки. WSGI надає простий і універсальний інтерфейс для взаємодії між більшістю вебсерверів і вебзастосунками чи фреймворками. СпецифікаціїВідповідно до стандарту WSGI, вебзастосунок має задовольняти наступні вимоги:
Простим прикладом WSGI-застосунку може служити така функція: def simplest_wsgi_app(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return ['Hello, world!']
Тут як ітератор використовується список з одного елемента — рядка тексту 'Hello, world!' MiddlewareОкрім вебзастосунків і вебсерверів стандарт дає визначення middleware-компоненти. Middleware надає інтерфейси як серверу, так і вебзастосунку. Тобто для сервера middleware є вебзастосунком, а для застосунка — сервером. Це дозволяє утворювати «ланцюжки» WSGI-сумісних middleware. Middleware можуть брати на себе такі функції (однак не обмежуються наведеним):
Сумісні з WSGIЗноски
Посилання
|