Материалы/Занятие2

Исторический обзор средств разработки сайтов. Прагматика инструментов разработки.

Что такое сайт и как его обеспечить?


Для создания сайта необходимо:
1. Сервер (должен иметь прямой ip и работать 24 часа в сутки);
2. Способ доступа к файлам на сервере (панель управления и FTP).


Хостинги предоставляют клиенту часть места на сервере и домен.


Кроме того, должна существовать программа, которая по запросу клиента выполняет операции с файлами, в частности, отправляет их клиенту – HTTP-сервер.

HTTP-сервера


Наиболее известные http серверы:

  • Apache (60%)
  • Microsoft IIS 
  • Light httpd (может быть важен при высокой нагрузке на сервер)

Основные достоинства Apache:

  • Бесплатность
  • Работа под различными операционными системами
  • Большая исходная функциональность (запрещение/разрешение доступа к каталогам и т.д.)
  • Большое количество дополнительных модулей.

Например, с помощью дополнительных модулей можно:

  • Блокировать доступ к сайту с определенных IP 
  • Делать SSI (вставки содержания на уровне сайта)

Сразу же после возникновения HTTP-серверов потребовалось обрабатывать информацию, присылаемую пользователем, и динамически формировать содержимое страницы. Возник стандарт CGI.

CGI


CGI – это обычное приложение, запускаемое под какой-то платформой (Windows, Unix) и HTTP-сервером, и пишущее в консоль заголовки ответа HTTP-сервера и содержимое файла, отправляемого клиенту. Т.е. это такой модуль над HTTP-сервером.


CGI исторически было первым средством формирования динамических страниц, однако быстро было заменено следующим поколением систем ввиду следующих недостатков:

  • Одноплатформенность (приложение, разработанное под Windows не будет работать под Unix и т.д.)
  • Сложность обработки запросов пользователя ввиду отсутствия стандартов – приложение должно выполнять много рутинной работы

Скриптовые языки


Недостатки классического CGI привели к развитию скриптовых языков программирования – Perl, PHP. Если не вдаваться в подробности, можно считать интерпретатор PHP CGI-приложением, однако оно пишется только 1 раз под разные платформы. При запросе к серверу интерпретатор PHP обращается к файлу на языке PHP (язык и окружение приспособлены под выполнение Web-задач) и отдает, как CGI-приложение, результат работы серверу, а тот – клиенту. Кроме того, снимается проблема кроссплатформенности, поскольку существуют интерпретаторы PHP под разные системы.

PHP


Одно из главных достоинств языка PHP – низкий порог вхождения программиста с точки зрения обучения. Самый простой PHP-скрипт занимает одну строчку, и уже работает, как полноценное приложение.


Другие достоинства:

  • Большое число модулей и функций под разные задачи
  • Гибкость типов и структур данных
  • Высокая заточенность под работу со строками и консольным выводом.
  • Как следствие простоты программирования, большое число готовых программ на разные случаи жизни.

Однако, кроме всего прочего, каждый сайт оперирует данными. Данные должны где-то хранится и обрабатываться.

Хранение данных


Самый простой способ – хранить данные в файлах. Однако при большом кол-ве данных это крайне замедляет работу. Тем не менее, такой способ иногда используется, чаще всего для статичных данных (например, файлов конфигурациии) и данных с простой структурой (например, при кешировании).


Индустриальным стандартом хранения данных являются SQL-системы.

SQL


Данные в SQL-базе содержатся, как таблицы. У таблицы есть столбцы (поля данных) и строки (собственно, содержательные данные).


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



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


SELECT user,price FROM zakazi WHERE price > 100.00


Существуют разные программы, которые обеспечивают хранение данных и возврат результатов SQL-запросов. В среде создания Web-приложений распространение получил программа – сервер БД MySQL.

MySQL


MySQL – служба, доступная по сети. MySQL поддерживает постоянное соединение, в отличии от HTTP, поддерживающего временное соединение.


RuWikipedia:MySQL

LAMP


В совокупности связка ОС Linux + веб-сервер Apache + сервер баз данных MySQL + язык программирования PHP составляют среду, часто использующуюся при разработке веб-сайтов и веб-приложений и получившую отдельное название LAMP.

CMS


Постепенно начал формироваться фонд программного обеспечения на PHP – форумы, гостевые книги, счетчики, магазины и т.д. Большому сайту было бы неплохо использовать некоторый набор из совокупности скриптов. Одна из самых больших проблем при этом – унификация таких элементов сайта, как:

  • Дизайна
  • Способа авторизации пользователей, проверки их прав
  • Способа доступа к БД

Это создало предпосылки к появлению CMS – набор скриптов, который позволяет использовать другие наборы скриптов, называемых модулями, и обеспечивает некоторую стандартную функциональность, унифицирующую вышеуказанные вещи.


Первой бесплатной CMS на PHP стала PHP-Nuke, и на сегодняшний день существует множество модулей для этой системы. Модули – основа популярности и мощности CMS.


Тем не менее, PHP-Nuke содержал много архитектурных просчетов, благодаря чему начали появляться другие CMS. Мы будем работать на CMS Wacko Wiki Quick Start.

Примечания


У вас нет прав на изменение этой страницы.


 
Подразделы
Раздел не содержит подстраниц.