Технология сетевого дизайна и ее программное обеспечение




 

1. Протоколы физические, транспортные и программные. Место в этой модели стека протоколов TCP/IP. Его роль в интернет-технологии.

Интернет — это глобальная компьютерная сеть, то есть совокупность компьютеров, расположенных по всему миру и соединенных между собой таким образом, что все они могут обмениваться друг с другом информацией. Конкретные способы, позволяющие обмениваться информацией, называются протоколами. Модель межсетевого взаимодействия (OSI) включает 7 уровней протоколов, среди которых есть нижние (физические), средние (транспортные) и верхние (программные). Интернет объединяет компьютерные сети, работающие на среднем уровне под управлением группы протоколов TCP/IP (Transmission Control Protocol / Internet Protocol — Протокол управления передачей / Межсетевой протокол). Совокупность интернет-сайтов имеет английское название World Wide Web (тройное дабл ю, или собственно, веб), что на русский язык обычно переводится как всемирная паутина. Всемирная паутина управляется одним из протоколов верхнего (программного) уровня, который описывает передачу веб-страниц. Этот протокол имеет название HTTP (HyperText Transfer Protocol — протокол передачи гипертекста). История Интернета восходит к концу 60-годов, протокол TCP/IP был представлен в 1974 году, World Wide Web вместе с протоколом HTTP, языком HTML и первым браузером libwww — в 1990 году.

 

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

Браузер — программа просмотра веб-страниц (то есть документов на языке HTML). Ранние браузеры были текстовыми, первый графический браузер Viola появился в 1992 году. В 1993 году вышел первый массовый браузер Mosaic, в котором впервые появились поддержка звука и видео, закладки (Избранное) и список недавно посещенных страниц (history). В 1994 году Netscape Corporations выпустила первую версию коммерческого браузера Netscape, содержавшего множество возможностей, направленных на улучшение внешнего вида документа и расширение возможностей его форматирования. Однако с этого момента начинается отход браузеров от принципов структурной разметки документа, то есть отделения структуры документа от визуального оформления. С 1996 года выходит версия Internet Explorer компании Microsoft, которая поддерживает почти все расширения Netscape и утверждается в качестве "второго главного браузера". К 2000 году Internet Explorer окончательно побеждает Netscape и становится монополистом. После этого начинается его стагнация, чем последовательно смогли воспользоваться Opera, Mozilla Firefox, Apple Safari, а сейчас и Google Chrome. В этих браузерах впервые были реализованы "расширения", вкладки или "табы", "жесты" мышью и другие новшества. Сегодня доля Internet Explorer сократилась до 60% и продолжает снижаться.

 

3. Применение текста и шрифтов на сайтах. Задание параметров текста с использованием тегов и атрибутов тегов HTML и с использованием свойств CSS.

HTML-верстальщик весьма ограничен в выборе шрифта, потому что нужный шрифт должен быть установлен на компьютере посетителя сайта. Безопасными являются менее десятка гарнитур. Это резко отличается от ситуации верстальщика в полиграфии. Кроме того, HTML-верстальщик не знает параметров устройства вывода посетителя сайта, а значит, не может до конца представить, как будет выглядеть шрифт определенного кегля на компьютере посетителя.

В HTML гарнитура шрифта задается с помощью атрибута face тега font, с помощью CSS установить шрифт для элемента можно посредством свойства font-family. Размер шрифта (кегль) в HTML задается атрибутом size тега font и указывается числом по условной шкале от 1 до 7, в CSS допустимо задание кегля в самых различных единицах, среди которых пиксели, проценты, дюймы, сантиметры и миллиметры, пики и пункты, ex и em. Для выключки (выравнивания) абзацев текста в HTML предназначен атрибут align, который может принимать четыре значения: left, center, right, justify. В CSS есть совершенно аналогичное свойство text-align, которое может принимать такие же значения. Язык HTML не предоставляет средств для реализации трекинга, кернинга и управления интерлиньяжем. С использованием средств CSS можно задать трекинг (свойство letter-spacing) и интерлиньяж (свойство line-height), но средства для задания кернинга также не существует.

 

4. Графические изображения на веб-страницах. Графические форматы GIF, JPEG и PNG, их параметры, характеристики, различия и области применения. Методы оптимизации графики в форматах GIF и JPEG.

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

Первым из форматов, который отвечал требованиям Интернета, был формат GIF (Graphics Interchange Fоrmat — формат графического обмена). Это формат со сжатием без потерь по алгоритму LZW. Формат GIF способен хранить изображения с палитрой до 256 цветов. Существенно, что эти самые 256 цветов не обязательно должны быть фиксированными, они могут задаваться индивидуально для каждого файла. Это называется индексированными цветами. Отличительной особенностью формата является сохранение четкости границ изображений при компрессии. Формат предназначен, в основном, для чертежей, графиков и прочих четких изображений от которых требуется маленький размер, а также для элементов интерфейса сайтов.

Формат PNG (Portable Network Graphics — переносимая графика для сети) должен был преодолеть недостатки GIF, связанные с ограничением количества цветов. Он позволяет сохранять изображения с глубиной цвета 24 бит, также поддерживает управление градиентной прозрачностью. Его алгоритм сжатия без потерь Deflate близок к LZW. Используется для элементов интерфейса сайтов, требующих расширенной цветовой палитры, а также для помещения обтравленных изображений на многоцветный фон.

Формат JPEG (Joint Photographic Experts Group — объединенная группа экспертов по фотографии) предназначен для компактного хранения многоцветных изображений с фотографическим качеством. Он был разработан в 1995 г. специально для нужд Интернета. В отличие от GIF и PNG, в формате JPEG используется алгоритм сжатия с потерями, благодаря чему достигается очень большая степень сжатия (от единиц до сотен раз). Используется для размещения фотореалистичных иллюстраций.

Методы оптимизации файлов GIF — уменьшение количества цветов, использование оптимизированной палитры, дизеринг, искажении размеров рисунка (для элементов интерфейса), фрагментарная оптимизация. Основной способов оптимизации файлов JPEG — выбор оптимального коэффициента сжатия.

 

5. Структура HTML-документа. Определение типа документа. Различия версий HTML 4.0 и XHTML 1.0. Раздел head, его структура, основные элементы и их назначение. Теги title, link, meta.

В первой строчке каждого HTML-документа должно располагаться определение типа документа (DTD, Document Type Definition). Весь остальной HTML-документ образует элемент <html>, состоящий из двух других элементов — <head> и <body>, в первом из которых размещается служебная информация, а во втором — выводимый в окно браузера текст. Из элементов раздела <head> обязательным является элемент <title> — заголовок документа. Раздел <body> состоит из элементов текста, среди которых различают блочные и строчные. Блочные элементы ведут себя как абзац текста, то есть начинаются с новой строки, и следующий после них текст также начинается с новой строки. К ним относятся абзацы, заголовки, нумерованные и маркированные списки, таблицы. По спецификации HTML строчные элементы могут располагаться только внутри блочных. К ним относятся задание параметров шрифта, внутриабзацные выделения, гипертекстовые ссылки, иллюстрации и т.п.

На сегодня можно считать актуальными версии HTML 4.0 и XHTML 1.0, каждая из которых существует в модификациях Strict, Transitional и Frameset, различающихся по допустимости применения визуальных тегов, а также так называемых фреймов. Версия XHTML 1.0 отличается тем, что она переформулирована по правилам метаязыка XML, что диктует различия в синтаксисе. Так, если HTML 4.0 не чувствителен к разнице в регистре имен тегов, то XHTML 1.0 требует писать все имена тегов строчными буквами. Кроме того, XHTML 1.0 не допускает одиночных тегов, а только пары открывающихся и закрывающихся. Для тегов, одиночных по своей природе (как разрыв строки <br>), XHTML 1.0 допускает сокращенное написание, то есть вместо <br></br> можно писать <br />.

 

6. Теги, атрибуты, контейнеры, мнемонические подстановки. Блочные и строчные теги. Теги создания абзацев, заголовков, списков, внутриабзацного выделения, гиперссылок, иллюстраций.

Документ HTML состоит из текста, составляющего содержание веб-страницы, размеченного при помощи вставленных непосредственно в текст управляющих конструкций разметки, называемых тегами. Теги в HTML заключаются в угловые скобки. Кроме имени тега в угловые скобки включаются атрибуты, уточняющие действие тегов, записанные по синтаксису имя_атрибута="значение". Различают открывающиеся и закрывающиеся теги, закрывающиеся отличаются наличием символа "слэш" ("/") перед именем. Действие тега распространяется на текст от открывающегося до соответствующего закрывающегося тега. Совокупность открывающегося и закрывающегося тегов называется контейнером. Контейнер вместе с текстом, на который распространяется его действие, называется элементом структуры HTML. Правила HTML допускают вложенность элементов, но не их пересечение, то есть тот из двух элементов, который открылся раньше, обязательно должен заканчиваться позже. Наряду с тегами используются так называемые ссылки на символьные объекты (CER, Character Entity References), или мнемонические подстановки, служащие для вывода на страницу специальных символов. Мнемонические подстановки начинаются со знака амперсанда и оканчиваются точкой с запятой, например &nbsp; (неразрывный пробел).

 

7. Теги и атрибуты, используемые для создания таблиц в языке HTML. Объединение ячеек. Особенности таблиц, используемых для вывода табличных данных и для создания каркаса страниц. Преимущества и недостатки верстки страниц с использованием таблиц.

 

8. Веб-формы как средство обратной связи страницы с веб-сервером. Методы отправки данных, их преимущества и недостатки. Элементы форм - текстовые поля ввода, списки, флажки, радиокнопки.

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

Форма может использоваться для получения сведений от посетителей сайта, например для сбора персональных сведений, сведений о сделанных заказах, сведений, необходимых для выставлении счетов, месте и способе доставки и т.д. От посетителей сайта требуют ввести различные сведения в поля формы.

Указанные сведения задаются путём настройки переключателей, флажков и раскрывающихся списков и ввода информации в текстовые поля.

Имеется возможность задавать способ сбора данных, введённых посетителями сайта, и задавать способ отображения этих результатов в форме на странице подтверждения, просматриваемой посетителем.

Формы могут работать только тогда, когда они поддерживаются сервером.

Элементы формы, в которые можно ввести текст, называются полями формы. Поля формы могут уже содержать своё название ("Обзор", "Сброс", "Отправить" и т.д.) или позволяют вводить текст.

Примеры часто используемых форм

Форма сбора персональных сведений о посетителе

Форма сбора сведений о фирме, которую представляет посетитель

Форма сбора информации о произведенном заказа

Форма сбора информации для выставлении счёта

Форма для поиска информации на сайте

Форма для идентификации посетителя (проверка логина и пароля посетителя)

 

9. Каскадные таблицы стилей CSS. Способы включения в документ - внешние, внутренние и локальные стили. Синтаксис CSS - селекторы, свойства. Селекторы по элементу, по классу и по ID элемента. Каскадирование.

Каскадные таблицы стилей CSS служат для реализации принципа разделения структуры документа и его оформления — в файле HTML остается только структура, а все оформление выносится в отдельный файл CSS, либо в специальный раздел файла HTML. В первом случае таблицу стилей называют внешней, она может подключаться к файлу HTML при помощи тега <link>. Во втором случае таблицу стилей называют внутренней, она может располагаться внутри контейнера <style> в разделе <head>. В этом случае содержимое контейнера <style> интерпретируется не по правилам HTML, а по правилам CSS. Кроме того, возможны локальные определения стилей, действующие только на отдельный элемент. Они задаются как значение атрибута style соответствующего тега.

CSS имеет собственный синтаксис, в корне отличающийся от синтаксиса HTML. Файл CSS (или содержимое контейнера <style>) представлен как перечень взаимно независимых правил, порядок записи которых не имеет отношения к порядку элементов HTML. Каждое правило состоит из селектора и заключенного в фигурные скобки блока определения свойств. Определения свойств разделяются точкой с запятой, внутри каждого определения свойство отделяется от значения двоеточием. В итоге каждое правило выглядит следующим образом:

селектор { свойство_1: значение 1; свойство_2: значение 2; }

Селектор определяет группу элементов, на которые действует правило, а определения свойств задают вид элементов этой группы. Свойства CSS по своему значению часто могут быть сопоставлены с тегами и атрибутами HTML, так свойство font-size аналогично атрибуту size тега font.

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

 

10. Объектная модель документа, динамический HTML. Объекты, их свойства и методы. Обработчики событий. Формулировка свойств CSS в объектной модели. Метод getElementById.

Динамический HTML (DHTML) — совокупность технологий, обеспечивающих динамическое изменение документов под воздействием действий пользователя исключительно на стороне клиента, без необходимости обращения к веб-верверу. Для реализации такой возможности сегодня разработана Объектная модель документа (DOM, Document Object Model) — интерфейс, позволяющий разнообразным программам и сценариям получать доступ к содержанию, структуре и визуальному представлению документов с возможностью динамически модифицировать эти составляющие. Чаще всего это изменение осуществляется при помощи скриптов, написанных на языке JavaScript, однако сама объектная модель не зависит от платформы и конкретного языка программирования. В основе объектной модели лежит понимание документа как дерева объектов с изменяемыми свойствами. Для классической веб-страницы корнем такого дерева будет выступать объект, соответствующий элементу <html>. Он называется родительским по отношению к элементам <head> и <body>, а они по отношению к нему называются дочерними.

Такое представление об объектах — не просто название, оно тесно связано с понятием об объектно-ориентированном программировании. С этой точки зрения объект — ассоциированный массив, ключами которого могут являться данные произвольного типа. Так и объект как элемент объектной модели документа содержит данные произвольного типа об элементе HTML. Объект в объектно-ориентированном программировании может иметь свойства и методы — то есть переменные и функции. Функции в данном случае — это такие переменные, которые могут зависеть от других переменных, называемых параметрами. Свойства объекта как элемента объектной модели документа — это в первую очередь его свойства CSS. Именно к ним в первую очередь получают доступ различные программы и скрипты с возможностью динамически их изменять. Для этого все свойства CSS в объектной модели преобразуются в свойства объектов — так, свойство font-size преобразуется в fontSize. Что касается методов, то одним из важнейших методов объектной модели является вызов объекта по его уникальному идентификатору getElementById. Таким образом, изменить размер шрифта элемента с идентификатором text1 программа или скрипт сможет при помощи конструкции document.getElementById('text1').style.fontSize="12pt".

 

11. Локальное программирование на языке JavaScript. Способы включения в документ - внешние, внутренние и локальные скрипты. Синтаксис JavaScript. Переменные, операторы и функции.

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

Модифицировать страницу пользователь может, совершая некоторые действия. Такие действия, приводящие к модифицированию страницы, называются событиями. Это могут быть — щелчок мышью, наведение курсора мыши на объект, изменение данных в строке ввода, загрузка документа в окно браузера. При выполнении того или иного события JavaScript может выполнять те или иные действия, что отслеживают так называемые обработчики событий. Являясь ключевым звеном для связи программы на языке JavaScript с HTML-документом, технически обработчики событий представляют из себя атрибуты HTML-тегов, запускающие ту или иную функцию при выполнении того или иного события. Примеры распространенных обработчиков событий — onclick, onmouseover, onchange, onload — обрабатывают как раз те события, которые перечислялись выше.

Подобно каскадным листам стилей, скрипты на языке JavaScript могут быть написаны как во внешнем файле, подключаемом к HTML-документе, так и непосредственно в теле документа, в контейнере тега <script>. Кроме того, самые простые конструкции могут быть прописаны непосредственно как значения обработчиков событий, здесь JavaScript тесно сливается с объектной моделью документа.

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

 

12. Методы создания интерактивных страниц с использованием шаблонизатора jQuery.

jQuery — библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу DOM, обращаться к атрибутам и содержимому элементов DOM, манипулировать ими. Также библиотека jQuery предоставляет удобный API по работе с AJAX.
Для начала работы с jQuery необходимо скачать саму библиотеку из любого доступного источника. Далее ее необходимо инициализировать. Сделать это просто – необходимо добавить в заголовок html-документа следующий кусочек программного кода:

<script type="text/javascript" src="/jquery.js"></script>, где jquery.js - имя файла, который содержит библиотеку jquery. А чтобы jquery-скрипт выполнялся с загрузкой документа ниже описан пример кода: $(document).ready(function(){ //Code here });, где code here - код выполняемой функции.

Теперь, после инициализации, для использования доступны все возможности базового функционала jQuery, среди которых:

  1. функции ядра;
  2. работа с селекторами;
  3. работа с атрибутами;
  4. обход дерева DOM;
  5. манипуляции элементами;
  6. работа с CSS-свойствами элементов;
  7. работа с событиями;
  8. визуальные эффекты;
  9. взаимодействие с ajax;
  10. утилиты.

Для манипулирования нужными элементами страницы в Javascript есть несколько способов найти их на странице среди прочего множества объектов. Эти способы требуют запоминания большого количества информации, в то время как для поиска элемента при помощи jQuery необходимо лишь помнить ID элемента, с которым вы хотите работать. Код обращения в общем случае будет выглядеть следующим образом: $('путь к элементу(элементам)') Ключевой функцией в jQuery является функция $() – она тем или иным образом вызывается всеми методами jQuery.

Согласно заявлениям вице-президентa по разработке Скотта Гутри (Майкрософт), библиотека jQuery, станет основой ASP.Net Ajax Control Toolkit и будет поставляться в составе Visual Studio. Разработчик jQuery Джон Резиг заявил, что Нокиа тоже использует jQuery как часть своей платформы для разработки Web Runtime, базирующейся на Webkit. Не отстают и российские компании, к примеру, Яндекс уже давно активно использует jQuery в своих приложениях.

Каковы преимущества jQuery? Благодаря тому, что объем программного кода jQuery меньше, чем объем стандартного кода Javascript, сокращаются временные затраты на разработку элементов веб-страницы. Сам программный код более понятен по сравнению с JavaScript.

13. Типы сайтов - информационные и дизайнерские. Сайт, структура сайта, навигация по сайту. Шапка, блоки меню, рабочая область информационного сайта. Жесткий и резиновый дизайн при верстке сайтов.

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

В организации пространства страницы любого информационного сайта можно выделить как минимум четыре информационные области со строго определенными ролями. Это шапка (header), подвал (footer), блок меню и рабочая область. Шапка сайта должна располагаться сверху. Основной ее функциональный элемент — название сайта. Иногда может присутствовать заголовок текущего раздела. Там же может находиться логотип компании. В подвале, то есть в самой нижней области, можно разместить выходные данные, контакты, дату последнего обновления, счетчики посещений и прочую сопутствующую информацию. Блок меню, или блок навигации, обычно расположен либо под шапкой, либо в левом столбце сайта. На сайтах, богатых информацией, возможны оба навигационных блока — верхний и левый. В этом случае горизонтальная область под шапкой отводится для ссылок на верхнеуровневые, "магистральные" направления сайта, а вертикальный блок планируется как контекстное меню подразделов в рамках текущего крупного раздела. Рабочая область — зона для размещения основного содержимого страниц сайта. Верстка должна предполагать выделение для нее как можно большего пространства и обеспечить максимальное удобство для восприятия информации в этой области.

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

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

 

14. Разделение статических и динамических зон при верстке сайтов. Методы создания многостраничных сайтов - JavaScript, фреймы, SSI.

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

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

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

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

 

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

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

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

Для реализации подобных и многих других задач серверные скрипты обычно взаимодействуют с базами данных, работающим под управлением различных СУБД, таких как 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, программирование сценариев для обработки этих запросов и программирование модулей для отображения результатов обработки запросов.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-12-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: