Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TSD_gosy.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
108.54 Кб
Скачать
  1. Разделение статических и динамических зон при верстке сайтов. Методы создания многостраничных сайтов - JavaScript, фреймы, ssi.

При верстке сайтов часто стоит задача разделения пространства страниц сайта на постоянные и переменные области, при чем первые должны быть одинаковы для всех страниц (шапка, подвал), а некоторые уникальны для каждой страницы (рабочая область). Для верстки постоянных областей необходимо, чтобы единожды обновленная информация в постоянной области одновременно была бы доступна в обновленном варианте сразу на всех страницах, на которых эта область присутствуют. HTML и CSS не предоставляют никакого решения этой задачи. Методами JavaScript задача может быть решена для совсем небольших сайтов, таким образом что информация всего сайта целиком может грузиться при загрузке страницы, а затем при помощи средств навигации пользователь сможет управлять выводом или невыводом на экран той или иной части информации. Ясно, что для сколько-нибудь серьезных объемов информации такой способ не может быть применим.

Из всех локальных средств (то есть не требующих помощи со стороны веб-сервера) решением этой задачи может быть разве что использование фреймов — технологии компании Netscape, которая сегодня считается устаревшей и не рекомендуется к использованию. В этой технологии окно страницы разбивается на несколько областей, в каждую из которых может загружаться отдельная веб-страница с собственным адресом (который не виден в адресной строке). Недостатком этой технологии является именно то, что каждая часть страницы имеет собственный адрес — по ссылке, например, с поисковой системы, пользователь может попасть только на часть страницы и не узнать, что целиком сайт содержит большее количество информации.

Сегодня для решения этой задачи применяют методы, так или иначе использующие сторону сервера. Промежуточным вариантом является технология, которая так и называется SSI (Server Side Include — включение стороны сервера). Эта технология позволяет расширять язык HTML рядом средств, невозможных без привлечения сервера, но по синтаксису фактически не выходя за пределы HTML. Основным средством этой технологии является как раз возможность подключать к тексту веб-страниц области, физически хранящиеся в других файлах.

Следующим шагом является уже переход к полноценному серверному программированию. При таком подходе веб-страница может вообще не храниться физически как файл на сервере, а создаваться сервером непосредственно перед отправкой браузеру. При этом существенная часть информации может храниться в базе данных, а другая часть — в файлах шаблонов. Серверные программы — скрипты на серверных языках, компонуют страницу из данных, полученных из разных источников, и затем отправляют браузеру.

  1. Начальные представления о методах организации сайта при помощи серверных скриптов и базы данных.

Серверные скрипты выполняются сервером по запросу, посылаемому клиентским приложением (браузером). Без этих скриптов невозможно представить себе гостевые книги, опросы или другие программные компоненты, которые активно взаимодействуют с базами данных. Давайте подробнее рассмотрим, что собой представляют серверные скрипты и зачем они нужны.

Начнем с небольшого примера. Предположим на сайте есть некая защищенная область, доступ к которой есть только у некоторых категорий пользователей, например, администраторов. Для того чтобы зайти в такую область, необходимо указать свои данные: имя пользователя и пароль, то есть авторизироваться. Тогда содержание, доступное авторизированному пользователю, будет отличаться от содержания, видимого всем остальным. Как это происходит? При нажатии кнопки «Войти» на форме авторизации происходит формирование запроса веб-серверу. Сервер отдает управление серверному скрипту, который обращается к базе данных, находит там соответствующую клиентскому запросу запись и обрабатывает ее согласно сценарию. Таким образом, скрипт формирует содержимое страницы в зависимости от полученных данных, то есть динамически, а пользователь получает только результат выполнения скрипта – сформированную страницу.

Для реализации подобных и многих других задач серверные скрипты обычно взаимодействуют с базами данных, работающим под управлением различных СУБД, таких как Oracle, MySQL, Microsoft SQL Server, Firebird и др.

В отличие от клиентских скриптов, которые выполняются непосредственно при загрузке страницы браузером клиента, серверные скрипты требуют предварительной компиляции. А потому для их выполнения необходимо специальное программное обеспечение, которое и устанавливается на серверах. К технологиям веб-программирования, предназначенным для создания серверных скриптов, относят PHP, Perl, ASP.NET, Ruby. Среди них наиболее популярными являются технологии PHP и ASP.NET, поэтому на них остановимся подробнее.

Язык PHP был создан в 1994 году. Изначально проектировался как надстройка над очень популярным тогда языком Perl. На сегодняшний день используются разные версии РНР, самая последняя из них - шестая. Аббревиатура PHP расшифровывается как Hypertext Preprocessor - препроцессор гипертекста PHP. Ранее эта аббревиатура читалась как Personal Home Page Tools - инструменты для персональных домашних страниц (дословно). Однако возможности PHP уже давно вышли за рамки простых домашних страниц и теперь этот язык применяется для создания веб-приложений различной степени сложности. Так, например, на PHP написаны многие популярные системы управления контентом (CMS), среди которых широко известная Wordpress.

Программирование сайтов выполняется с целью создания некоторого полезного функционала. Работа с базами данных — это одна из важнейших составляющих программирования сайтов динамического типа. Будь то формирование страниц «на лету» или же реагирование на действия посетителей сайтов — взаимодействие с базами данных требуется всегда.

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

Программирование сайтов динамического типа выполняется при помощи различных скриптов, разделяемых обычно на серверные и клиентские. Программирование сайтов с помощью серверных скриптов позволяет обрабатывать данные, введенные посетителями сайтов в веб-формы, генерировать динамические страницы, отсылать и принимать cookies. Для получения информации, требуемой при выполнении подобных действий, серверные скрипты обращаются к базам данных. Обращение скрипта к БД называется запросом.

Для построения запросов к базам данных широко применяется SQL (Structured Query Language) — «язык структурированных запросов». С помощью SQL может осуществляться добавление, удаление, редактирование записей в таблицах баз данных, выборка данных в соответствии с различными условиями, сортировка данных и многое другое.

В программировании сайтов управление БД осуществляется при помощи клиент-серверных систем управления базами данных (СУБД), таких как Oracle, MS SQL Server, PostgreSQL, MySQL и др. Клиент-серверные СУБД обрабатывают запросы централизованно, к их достоинствам относят обеспечение высокой надежности баз данных, высокой доступности и высокой безопасности.

СУБД MySQL — свободная система управления базами данных, одна из наиболее часто применяемых в программировании сайтов. СУБД MySQL поддерживает большое количество существующих типов таблиц (InnoDB, MyISAM и т. д.), а благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц. Управление базами данных с помощью MySQL очень удобно, что сделало данную систему востребованной и популярной.

Система управления реляционными базами данных Microsoft SQL Server поставляется компанией Microsoft на коммерческой основе (за исключением бесплатной редакции Express Edition). Данная СУБД использует язык запросов Transact-SQL, поддерживается операционными системами семейства Windows Desktop/Server. В СУБД Microsoft SQL Server присутствует графическое ПО для конструирования и оптимизации запросов (SQL Management Studio и Studio Express).

Объектно-реляционная система управления базами данных компании Oracle - Oracle Database - работает на Windows, Unix, Linux, MacOS. Oracle Database, в отличие от MySQL, например, имеет более широкую область применения. СУБД Oracle обладает высокой производительностью, широким функционалом, уникальными технологиями (RAC, RAT и т. д.). В программировании сайтов для небольших и средних компаний применяется достаточно редко ввиду своей высокой стоимости. К тому же, довольно сложно найти хостинг с поддержкой данной СУБД.

Cвободная система управления базами данных PostgreSQL существует в редакциях для Linux, Solaris/OpenSolaris, Win32, Win x86-64, Mac OS X, FreeBSD, QNX 4.25, QNX 6. Базируется на языке SQL. Среди преимуществ PostgreSQL выделяют поддержку БД практически неограниченного размера, наличие надежных механизмов репликации, легкую расширяемость, поддержку большого набора встроенных типов данных и многое другое.

Программирование сайтов, взаимодействующих различным образом с базами данных, включает несколько основных этапов работы с БД: построение запросов к БД с помощью языка SQL, программирование сценариев для обработки этих запросов и программирование модулей для отображения результатов обработки запросов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]