Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Модер


Сообщения: 1716
Благодарности: 17

Профиль | Сайт | Отправить PM | Цитировать


1) PERL более всего распространен (видимо, под CGI он понимается), PHP - меньше, ASP/JSP - и того меньше.

2) Общая логика работы на всех веб-серверах (из которой несложно логически вывести все плюсы и минусы):

а) клиент запрашивает файл xxx.yyy.
б) сервер в своих настройках (в частности, httpd.conf) смотрит, кто отвечает за расширение yyy и передает запрос соответствующей программе/модулю.
в) модуль делает то, что от него требуется и отдает результаты веб-серверу в выходной поток данных.
г) сервер отдает данные клиенту.

тонкости в пункте б) - сервер определяет обработчик именно по расширению, более общо - по маске, но это не важно, а важно то, что в случае php возможна ситуация, когда php (точнее, все что не CGI) будет обрабатывать файлы, где нет его команд, а простой HTML, то есть, по идее, файл можно было бы просто отдать клиенту. выход - разделение по расширениям, однако, это не всегда удобно, так как адрес документа может не меняться, а его содержимое может меняться. У Perl-а тут все проще, Perl ВСЕГДА сам полностью обрабатывает файл (то есть, логика языка другая, это не вставки кода в HTML, а вставки HTML в код), и такой проблемы нет.

пункт в) заслуживает пристального внимания, потому как именно здесь и находятся самые существенные отличия в плане работы. Перл, как я писал, ПОЛНОСТЬЮ выполняет скрипт и выдает результат на выход, тогда как PHP не выполняет скрипт, он фактически правит его.

существенная тонкость - ограниченность возможностей PHP по сравнению с перлом. пример, с которым я сам столкнулся на работе - необходимо было с сервера отправить POST/HTTPS-запрос на другой сервер, PHP это будет уметь только начиная с версии 4.3.0, для которой вышел еще только 1-й пререлиз. Есть CURL, но извольте пересобрать PHP. Плюнул и сделал на Perl-е через Net::SSLeay. То есть, если возможности перла могут быть расширены доп. библиотеками, то в серьезных случаях PHP придется пересобирать, обычно с этим нет проблем, но в случае специфического окружения (например, Informix-овский клиент) - это все слишком геморойно.

Если же речь о MySQL - все примерно пофигу, лично мое мнение - если шарим в перле - пишем на перле, если шарим в пхп - пишем на пхп.

ASP - тот же PHP, только сбоку. несколько объектов, обеспечивающих доступ к переменным окружения/ сеанса/ запроса/... Все мои знакомые, работающие в организациях, где веб лабают на asp, в разговорах плюются. Это еще более высокоуровневая штука чем PHP, расширяется через COM, так что если не гнаться за модой и думать прежде всего о надежности и расширяемости, ASP я бы не юзал.

-------
Васкецов Сергей
http://registry.oszone.net


Отправлено: 11:30, 05-11-2002 | #2