Понятие веб-приложения
Сегодня сайт - это не просто дюжина страниц с перекрестными ссылками, а достаточно сложное приложение, выдающее информацию в зависимости от действий пользователя, таких как: ввод символов в поле, выбор варианта из списка, нажатие кнопки и других.
Примеры подобных приложений (которые мы будем называть веб-приложениями) вы все прекрасно знаете:
- Форумы, доски объявлений, чаты
- Поисковые системы
- Системы проверки знаний
- Почтовые службы
- On-line магазины
- И так далее...
Веб-приложение — это приложение работающее по принципу «клиент-сервер», в котором обмен информацией происходит по протоколу HTTP.
Говоря о веб-приложениях, здесь и далее будем иметь ввиду частный случай: в качестве клиента выступает браузер.
В данной лабораторной работе мы познакомимся с наиболее популярным средством создания веб-приложений — языком программирования PHP.
Кроме PHP существует широкий спектр технологий разработки веб-приложений: ASP (Active Server Pages), ASP.NET, Java Server Pages (JSP), CouldFusion, Ruby on Rails...
Как работает php?
Что бы понять, как организована работа веб-сервера и PHP, рассмотрим типичную ситуацию: открытие страницы сайта (пока без всяких PHP-программ).
Решение этой задачи основано на принципе клиент-сервер, который представлен на следующей схеме:
Когда мы пытаемся открыть страницу сайта (или что то же самое — скачать файл), то браузер (или какой-либо другой клиент, например, FTP-клиент) посылает запрос серверу. В случае с веб-страницами используется протокол HTTP. Сервер, анализируя запрос, находит необходимый файл и передаёт его в качестве результата браузеру. Если запрос не может быть выполнен (например, файл не найден (код 404), или к нему запрещён доступ(код 403)), то веб-сервер возвращает определённый код ошибки.
Так что же такое PHP? РНР — это:
язык и его интерпретатор, который можно загрузить и установить
модуль веб-сервера, выполняющий сценарии на этом языке
И если мы обращаемся не просто к статичной веб-страничке, а к веб-приложению, то схему можно представлять так:
В отличии от предыдущей схемы, при обнаружении php-программы веб-сервер передаёт обработку запрошенного файла специальному модулю-интерпретатору PHP. Если запрошенный файл не является php-программой, то веб-сервер просто отдаст его клиенту, но привлекая стороннего обработчика.
PHP перерабатывает запрошенный файл и выдаёт его в модифицированном виде. Причём в зависимости от запроса один и тот же файл на сервере после обработки модулем PHP может содержать разную информацию.
Для выполнения заданий этой лабораторной работы (и последующих) необходимо выполнение одного из двух (а в идеале и обоих) технических условий:
Наличие локального хостинга на собственном компьютере. Намного удобнее иметь веб-сервер прямо у себя на компьютере, тогда не придётся каждый раз загружать на сервер файлы для проверки своих программ. Здесь можно посоветовать джентльменский набор веб- разработчика Denwer, собранный в лаборатории dkLab.ru. В его состав входят: веб-сервер Apache, PHP, MySQL (СУБД, которая пригодится нам в следующей работе).
Наличие хостинга с поддержкой PHP.