
- •1. Web-приложение. Механизмы cgi и FastCgi.
- •2. Web-приложение. Lamp-стек.
- •Установка на Ubuntu
- •Особенности и достоинства ос Линукс
- •3. Web-приложение. Шаблон проектирования «Модель-Представление-Контроллер».
- •4. Web-приложение. Шаблонизатор.
- •Достоинства:
- •О достоинствах
- •5. Web-приложение. Реляционные базы данных.
- •6. Web-приложение. NoSql.
- •7. Web-приложение. Возможности JavaScript.
- •8. Web-приложение. Среда исполнения. Web-сервер установка и настройка.
- •Среда исполнения
- •9. Развитие Web-технологий. Web 1.0, Web 2.0.
- •10. Развитие Web-технологий. Web 3.0, cемантическая паутина.
- •11. Развитие Web-технологий. Web-сервисы.
- •Использование rest для построения Web-сервисов.
- •12. Протокол http. Структура гипертекстового документа. Основные стандарты.
- •Структура гипертекстового документа.
- •Синтаксис
- •Параметры
- •13. Протокол http. Формы и обработка пользовательских данных.
- •14. Протокол http. Объектная модель документа (dom).
- •15. Протокол http. Пользовательские сеансы.
- •16. Протокол http. Технология ajax.
- •17. Протокол http. Структура сообщений. Заголовки. Коды состояния.
- •18. Облачные технологии. IaaS, PaaS, SaaS.
- •19. Облачные технологии. Google App Engine.
- •Ограничения
- •20. Облачные технологии. Google App Engine. Хранение данных.
2. Web-приложение. Lamp-стек.
Под стеком web-приложений мы будем подразумевать множество программных продуктов с открытым исходным кодом: операционная система, web -сервер, сервер БД и среду исполняемого кода. Наиболее известным и обыденным стеком является LAMP. Это акроним для стека web-приложений на базе бесплатных решений с открытым исходным кодом.
LAMP—акроним, обозначающий набор (комплекс)серверногопрограммного обеспечения, широко используемый воВсемирной паутине. LAMP назван по первым буквам входящих в его состав компонентов:
Linux—операционная системаLinux;
Apache—веб-сервер;
MariaDB/MySQL—СУБД;
PHP—язык программирования, используемый для созданиявеб-приложений(помимо PHP могут подразумеваться другие языки, такие ж какPerlиPython).
Акроним LAMP может использоваться для обозначения:
Инфраструктуры веб-сервера
Парадигмы программирования
Пакета программ
Хотя изначально эти программные продукты не разрабатывались специально для работы друг с другом, такая связка стала весьма популярной из-за своей гибкости, производительности и низкой стоимости (все её составляющие являются открытымии могут быть бесплатно загружены изИнтернета). Набор LAMP входит в состав большинствадистрибутивовLinuxи предоставляется многимихостинговыми компаниями.
Линукс обеспечивает приём/передачу запросов (контролирует железо) и является ядром для всего вышестоящего – сервер, СУБД, поддержка языка.
Установка на Ubuntu
Необходимо установить следующие пакеты:
apache2
mysql-server
php5
php5-mysql
После выполнения команды apt-get update для обновления локального списка пакетов вы сможете установить эти пакеты с помощью одной команды apt-get install:
После выполнения приведенной выше команды вам будет предложено установить эти пакеты и некоторые другие зависимости. Нажмите «y», а затем клавишу ВВОД, чтобы продолжить, и следуйте остальным указаниям по установке административного пароля для MySQL.
Это позволит вам установить минимальный набор расширений PHP, необходимый для использования PHP с MySQL.
Особенности и достоинства ос Линукс
Бесплатность.
Надежность. Корректная работа аппаратной части вашего ПК, позволит Linux’у работать годы без перезагрузки и зависаний. А кнопка Reset вообще никогда не понадобится.
Безопасность. В Linux практически нету вирусов. Само построение операционной системы исключает работу вредоносных программ.
Открытый исходный код. Это дает возможность использовать и модифицировать код по своему желанию.
Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.
PHP - скриптовый язык[7] общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для созданиядинамических веб-сайтов[8].