Имеется множество других инструментов, которые играют более узкоспециализированные роли. Среди них: mod_python — система, оптимизирующая выполнение серверных сценариев на языке Python в окружении веб-сервера Apache; Twisted — асинхронный, управляемый событиями фреймворк для сетевых приложений, написанный на языке Python, который обеспечивает поддержку огромного количества сетевых протоколов и содержит готовые реализации типичных сетевых серверов; HTMLgen — легковесный инструмент, позволяющий генерировать разметку HTML из дерева объектов Python, описывающих структуру веб-страницы; и Py thon Server Pages (PSP) — механизм шаблонов, действующий на стороне сервера, позволяющий встраивать программный код Python в разметку HTML, выполнять его в ходе обработки запросов для отображения частей страниц и близко напоминающий PHP, ASP и JSP.
Как вы уже могли догадаться, учитывая особое положение Веб, для языка Python существует такое множество инструментов создания сценариев для Интернета, что обсудить их все просто невозможно в рамках этой книги. Напомню, цель-достаточно подробно охватить основы, чтобы вы могли приступить к использованию инструментов, аналогичных тем, что перечислены выше, когда будете готовы перейти к применению более универсальных решений. Как вы увидите далее, базовая модель CGI-сценариев, с которой мы встретимся здесь, иллюстрирует механизмы, лежащие в основе любых веб-приложений, будь то простые сценарии или сложные фреймворки.
Однако прежде чем мы научимся бегать, нужно научиться ходить, поэтому давайте начнем с самого дна и посмотрим, чем в действительности является Интернет. Современный Интернет покоится на внушительном стеке программного обеспечения — инструменты позволяют скрыть некоторые сложности, тем не менее, для грамотного программирования по-прежнему необходимо знать все его слои. Как мы увидим далее, развертывание Python в Сети, особенно средствами высокоуровневых веб-фреймворков, подобных тем, что были перечислены выше, возможно только потому, что мы действительно «путешествуем на плечах гигантов».
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, II том, 2011