Сравнение РНР как интерпретатора CGI и как модуля Apache

Автор работы: Пользователь скрыл имя, 17 Ноября 2012 в 20:18, контрольная работа

Краткое описание

Как было сказано выше, РНР можно компилировать
в виде самостоятельного интерпретатора CGI
как модуль Apache.

Содержимое работы - 1 файл

2 Web технологии.docx

— 60.48 Кб (Скачать файл)

Active Server Pages (ASP)

ASP имеет  сходство с РНР, сочетая HTML, сценарии и компоненты на стороне сервера в одном файле, называемом активной серверной страницей (Active Server Page). Если сервер получает запрос файла ASP, то сначала ищет скомпилированную страницу, а затем выполняет ее. Если страница еще не скомпилирована, сервер компилирует ее, а затем выполняет. Результатом файла ASP является законченная веб-страница, возвращаемая броузеру.

Active Server Page может  быть написана с использованием HTML, Jscript (вариант JavaScript, созданный  Microsoft) и VBScript. Благодаря использованию сценариев, Active Server Page может иметь доступ к компонентам на стороне сервера. Компоненты можно создавать на любом языке, который предоставляет интерфейс к СОМ (спецификация компонентов, разработанной Microsoft). Несомненным; недостатком активных серверных страниц является то, что их можно использовать только с веб-сервером Microsoft (US, PWS) под операционными системами Microsoft (Win9x, WinNT). Существуют переносы на другие платформы и веб-серверы, но отсутствие широкой поддержки СОМ снижает их эффективность.

Java Servlets и JSP

Java-сервлеты (Java Servlets) и JavaServer Pages (JSP) являются технологиями, применяемыми на стороне сервера и использующими язык Java. Недавно Sun представила ряд новых API, позволяющих подключать программы к корпоративным службам и данным. Java Servlet API является одним из краеугольных камней этих расширений платформы Java, предоставляя мощный способ создания динамического содержания и расширения функциональности веб-серверов.

Сервлет Java является программой, выполняемой на стороне сервера, обслуживающей запросы HTTP и возвращающей результаты в виде ответа HTTP. В этом отношении она очень похожа на CGI, но на этом сходство и заканчивается. Хорошей аналогией сервлета является невидимый апплет, выполняемый на веб-сервере. Его жизненный цикл аналогичен жизненному циклу апплета, а выполняется он внутри виртуальной машины Java (JVM).

JavaServer Pages (JSP) аналогичны активным серверным страницам Microsoft (ASP). Страница JavaServer содержит HTML, код Java и компоненты JavaBean. JSP позволяет встраивать в страницы компоненты и обеспечивать выполнение ими работы по генерации страницы, посылаемой в конечном итоге клиенту. При запросе пользователем файла JSP веб-сервер сначала генерирует соответствующий сервлет, если его еще не существует. Затем веб-сервер запускает сервлет и возвращает созданное им содержание броузеру.

JavaServer Pages и Java Servlets страдают тем же недостатком, что и язык Java, используемый на стороне клиента: Java относительно сложен для изучения программистами-новичками.

РНР

Последняя из рассматриваемых нами технологий на стороне сервера служит темой  данной книги: РНР. РНР был разработан в 1994 году Расмусом Лер-дорфом (Rasmus Lerdorf) с целью отслеживания тех, кто просматривал его электронное резюме, и был выпущен на следующий год под названием Personal Home Page Tools (средства разработки личной домашней страницы). Позднее в том же году он был переработан и объединен с интерпретатором форм HTML Form Interpreter, получив название PHP/FI Version 2. Популярность продукта быстро росла, и в середине 1997 года РНР перестал быть личным проектом Расмуса Лердорфа, превратившись в важную сетевую технологию. Зив Сураски (Zeev Suraski) и Энди Гутмане (Andi Gutmans) полностью переписали синтаксический анализатор, и в июне 1998 года был выпущен РНР 3..

РНР работает аналогично JSP и ASP: разделы сценария заключаются в теги <?php.. ?> и встраиваются в страницу HTML. Эти сценарии выполняются на сервере перед тем, как послать страницу броузеру, поэтому проблемы поддержки броузером РНР не существует. Однако, в отличие от ASP, РНР является независимым от платформы, и существуют различные версии для разных вариантов Windows, Unix и Linux, а также ряда веб-серверов, в том числе Apache и IIS. Определяющее значение имеет то, что он является бесплатным продуктом с открытым кодом (open source).

Преимущества обработки на стороне сервера

Обработка и  генерация веб-страниц на стороне сервера имеет ряд преимуществ перед технологиями, используемыми только на стороне клиента:

  • уменьшается поток данных в сети в результате уменьшения необходимости многократного общения броузера и сервера друг с другом;
  • способствует уменьшению времени загрузки, поскольку в итоге фактически загружается только страница HTML;
  • устраняются проблемы совместимости броузеров;
  • клиенту могут поставляться данные, которые отсутствуют на его машине;
  • обеспечивается лучшая защита данных, поскольку код невозможно просмотреть броузером.

Информация о работе Сравнение РНР как интерпретатора CGI и как модуля Apache