Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Алексей Мичурин
Модули сервера Apache mod_python и mod_perl позволяют встроить интерпретаторы языков Python и Perl непосредственно в сервер и значительно увеличить производительность веб-приложений. Perl – старый и хорошо зарекомендовавший себя игрок на этом рынке. Но в последние годы Python занял уверенные позиции в области веб-разработок и привлекает всё большее внимание.
Что это такое и о чём статья
Прежде всего я хотел бы оговориться. Во-первых, статья не является руководством по mod_perl или mod_python. Пожалуйста, не рассматривайте её с этой точки зрения. Статья является обзором возможностей этих средств, причём обзором с высоты птичьего полёта. Я буду всячески избегать углубления в детали (хотя полностью избежать деталей, конечно, не удастся). И во-вторых, я ни в коем случае не хочу разжигать религиозные войны поклонников тех или иных языков. Полагаю, что культурные люди используют во время еды и ложку, и вилку в зависимости от поданного блюда, а не спорят, какой из этих приборов лучше подходит для ковыряния в ухе.
Эта статья будет особо информативна для читателей, которые пользовались хотя бы одним из обсуждаемых средств или по крайней мере представляют, что такое mod_perl или mod_python, но я всё же скажу пару вводных слов об этих технологиях.
Веб-программирование служит одной цели: формированию HTML- или XML-документов и обмену ими по протоколу HTTP. Чаще всего речь идёт о формировании HTML-страниц, но не следует забывать о RSS, SOAP и других способах обмена данными по HTTP.
Чтобы сформировать динамический контент, сервер запускает некую программу, результат работы которой отдаётся посетителю веб-ресурса.
Эта программа может быть полноценной, самостоятельной программой, которая запускается по требованию сервера и «умеет» принимать данные от него и отдавать ему результат работы. Протокол этого обмена называется Common Gateway Interface, а такую программу называют cgi-приложением.
Такой подход очень прост в реализации, но крайне неэффективен (по сравнению с другими), так как при каждом запросе выполняется множество действий: загрузка программы в память, её интерпретация и так далее.
Полной противоположностью этого подхода (есть и промежуточные) является встраивание языка программирования непосредственно в сервер в виде модуля сервера. Тогда программа загружается и интерпретируется один раз при запуске сервера. На этом же этапе можно произвести подключение к базе данных (чтобы не выполнять подключения/отключения при каждом запросе), открыть необходимые файлы и выполнить другие предварительные действия. Таким образом, теперь запрос обрабатывается внутри сервера, что позволяет получить выигрыш в производительности в десятки и сотни раз.