
- •Минск, бгу,
- •Глава 1. Компьютерные сети и протоколы
- •Глава 2. Проектирование и разработка сайтов……………………….62
- •Глава 3. Краткий обзор основных технологий разработки Веб приложений…………………………………………………………..……......90
- •Глава 4. Информационный обмен, html и css.…..……………….132
- •Глава 5. Язык JavaScript………………………………………………..202
- •Глава 6. Язык серверных скриптов php…………...…………………286
- •Глава 7. Лабораторные работы……………………..………………….400
- •Введение Коротко об истории Интернет
- •Как работает Интернет?
- •Система адресации
- •Способы подключения к сети
- •Сервисы Интернет
- •Электронная почта
- •Передача файлов по ftp
- •Всемирная паутина www
- •Глава 1. Компьютерные сети и протоколы
- •Локальные сети
- •Распределенные и глобальные сети
- •Сеть vpn
- •Адресация в локальных сетях
- •Адресация в глобальных сетях и в Интернет
- •Адресация в iPv6
- •Доменные имена
- •Url адреса
- •Понятие и краткое описание протоколов
- •Соотношение между tcp/ip и osi/iso
- •Межсетевой протокол iPv4
- •Формат пакета iPv6
- •Формат заголовка пакета iPv6
- •Заголовки расширения iPv6
- •Маршрутный заголовок
- •Транспортный протокол tcp
- •Протокол дейтаграмм udp
- •Протоколы arp и rarp
- •Протоколы сетевого уровня
- •Протоколы электронной почты
- •Протоколы smtp и pop3
- •Протокол imap4
- •Протокол ftp
- •Протокол передачи гипертекстов
- •Клиентский запрос http
- •Ответ сервера
- •Развитие прикладных протоколов: rpc, rest, soap
- •Безопасность в сети
- •Протокол ssl
- •Шифрование данных
- •Установление подлинности участников
- •Реализация ssl
- •Как избежать блокирования сайтов
- •Проблемы с кодировкой и Unicode
- •Задания для подготовки рефератов
- •Адресация в iPv6.
- •Глава 2. Проектирование и разработка сайтов
- •2.1. Виды сайтов
- •2.2. Этапы проектирования и разработки сайта
- •2.3. Модели проектирования и управление проектами
- •2.3.1 Модель водопада для управления проектами
- •2.3.2 Итерационная (спиральная) модель
- •2.3.3 Технология Microsoft Solutions Framework (msf)
- •2.3.4 Другие технологии управления проектами
- •2.4. Программные средства управления проектами
- •2.5.1. Стили сайтов
- •2.6. Логическое проектирование дизайна сайта
- •2.7. Главная страница сайта
- •2.8. Внутренние страницы сайта
- •2.9. Оценки качества Веб-сайтов
- •2.9.1. Оценки качества для e-commerce
- •2.9.2. Ключевые индикаторы для e-commerce
- •2.9.3. Определение качества и рейтинга сайтов учебных заведений
- •2.9.4. Оценка качества и стоимости сайта
- •Глава 3. Краткий обзор основных технологий разработки Веб-приложений
- •3.1. Язык разметки гипертекста xml
- •3.1.1. Синтаксис xml
- •Объявление xml. Первая строка xml-документа называется объявление xml.
- •Конструкции языка xml. Повторим еще раз содержимое xml-документа: набор элементов, секций cdata, директив анализатора, комментариев, спецсимволов, текстовых данных.
- •3.1.2. Правильно построенные и действительные документы xml
- •Отображение xml-документа. Наиболее распространены три способа преобразования xml-документа в отображаемый для пользователя вид:
- •3.3. Язык ActionScript
- •3.3.1. Видео-, аудиопроигрыватели
- •3.5. Технология «клиент-сервер»
- •3.6. Программирование для серверов
- •Язык Java на клиентской и серверной странице
- •3.7. Базы данных и язык sql
- •Нормализация модели данных
- •3.8. Язык sql
- •Команды управления транзакциями
- •Извлечение данных, команда select
- •Секция where. Директива where содержит условия отбора (предикат). Синтаксис where выглядит следующим образом:
- •Групповые функции. Если нас интересуют не строки таблицы, а некоторые итоги, мы можем использовать в процессе выборки колонок таблиц групповые функции (табл. 3.5.).
- •Команда insert. Добавление новых записей в таблицу осуществляется посредством команды insert. Она имеет следующий синтаксис:
- •Глава 4. Информационной обмен, нтмl и css
- •4.1. Язык разметки гипертекста html
- •4.2. Ссылки
- •4.3. Списки
- •4.3. Формы html
- •4.2.2. Новые элементы форм html5
- •4.2.3. Новые возможности html5
- •Поддержка аудио
- •Поддержка видео
- •4.3. Каскадные таблицы стилей css
- •4.3.1. Способы включения каскадных таблиц стилей
- •Заголовок 1 Заголовок 2 Заголовок 3
- •4.4. Цвет и фон
- •Свойства таблиц
- •4.5. Псевдоклассы
- •Псевдоэлементы
- •4.5.1. Форматирование псевдоклассов и псевдоэлементов
- •Различные свойства
- •Отступы, поля, позиционирование
- •Границы элементов
- •Новое в css3
- •Глава 5. Язык JavaScript
- •5.1. Включение скриптов JavaScript в html-код
- •Создание простых сценариев
- •Комментарии.
- •Отладка скриптов. Ввод и вывод данных
- •5.2. Описание языка
- •5.2.1. Типы данных
- •Преобразование типа
- •5.2.2 Операторы и выражения
- •Оператор присваивания
- •Арифметические операторы
- •Операторы сравнения
- •Оператор with
- •Оператор switch
- •5.3. Функции
- •5.3.1. Стандартные функции.
- •Eval() : позволяет выполнить строку, содержащую выражение, как javascript-код. Это полезно когда код формируется в ходе выполнения скрипта. Пример реализации простейшего калькулятора приведен ниже:
- •5.3.2. Функции пользователя
- •5.3.3. Передача параметров по значению и по ссылке
- •5.3.4. Глобальные и локальные переменные
- •5.3.5. Модель событий
- •Ключевое слово this
- •5.3.6. Модель событий JavaScript 1.2 и объект Event.
- •5.4. Объектная модель
- •5.4.1. Пользовательские объекты
- •5.4.2. Прототипы
- •5.4.3. Исключения: throw/catch/finally
- •5.4.4. Встроенные объекты String, Array, Date, Math Объект String. Экземпляр объекта можно объявить двумя способами:
- •Объект Array
- •Объект Date (Дата)
- •Методы объекта Date
- •5.5.1. Коллекции
- •Свойства элемента innerHtml и outerHtml
- •Навигация по дереву документа
- •Создание новых узлов
- •Удаление и замена узлов в документе
- •Объект window
- •Свойства окна, передаваемые методу open()
- •Методы объекта window
- •Свойства и методы объекта navigator
- •Свойства и методы объекта history
- •Свойства и методы объекта location
- •Объект layer
- •Каскадные таблицы стилей и объект style
- •Модель ajax:
- •5.6.1 Класс xmlHttpRequest
- •Использование dom
- •Работа с cookie
- •5.7.2. Манипуляции с dom
- •5.5.3. Блочная верстка
- •5.7.3. Обработка событий
- •5.7.3. Обработка событий
- •5.8. Примеры на JavaScript
- •Глава 6. Язык серверных скриптов php
- •Инструменты для разработки
- •Как php работает
- •Описание языка Типы данных
- •Массивы и инициализация массивов
- •Операции и выражения
- •Операции сравнения
- •Логические операции
- •Строковые операции
- •Операторы управления
- •Функции
- •Рекурсивные функции
- •Область действия и время жизни переменных
- •Изменяемые (динамические) переменные
- •Внешние библиотечные функции
- •Функции для работы с массивами
- •Функции для работы со строками.
- •Функции форматных преобразований строк
- •Преобразование строк и файлов к формату html и наоборот
- •Преобразование html в простой текст
- •Установка локальных настроек
- •Регулярные выражения
- •Функции даты и времени
- •Математические функции
- •Объектно-ориентированное программирование в php Основные понятия ооп
- •Классы и Объекты
- •Конструкторы и деструкторы
- •Наследование классов и интерфейсов
- •Магические методы
- •Обработка ошибок
- •Ошибки php и журнал error_reporting
- •Чтение и запись бинарных файлов
- •Работа с каталогами в рнр
- •MySql – сервер: бд1; бд2; бд3; бд4;
- •Команды sql для создания баз данных и таблиц
- •Выборка данных из бд
- •Выборка данных из таблиц бд
- •Работа с MySql (сохранение данных в базе данных).
- •Работа с MySql занесение и получение данных из базы данных
- •Организации работы с данными
- •Передача данных от клиента к серверу и обратно. Протокол http
- •Клиентские методы http
- •Обработка html-форм
- •Передача переменных из формы в скрипт.
- •Передача данных на сервер по методам get и post
- •Ввод данных из различных форм
- •Работа с e-mail
- •Cookies-наборы
- •Сессии (Сеансы)
- •Отмена регистрации сеансовых переменных
- •Сериализация объектов
- •Вывод графических данных с помощью рнр
- •Получение информации об изображении
- •Функции рисования прямых и кривых линий
- •Заливка изображений
- •Удаление и изменение цветов палитры
- •Создание прозрачности в изображениях
- •Рисование с помощью кистей
- •Использование шрифтов и вывод строк
- •Слияние изображений с помощью gd
- •Глава 7. Лабораторные работы Лабораторная работа 1 (4 часа). Инструменты и средства создания простых сайтов
- •Лабораторная работа 3 (4часа). Применение каскадных таблиц стилей css
- •Трехколоночный контейнерный макет сайта
- •Лабораторная работа 4. Применение каскадных таблиц стилей css
- •1. Свойства шрифтов.
- •2. Свойства текста.
- •3. Свойства цвета и фона.
- •4. Свойства рамки.
- •5. Свойства списков.
- •6. Свойства изображений.
- •Лабораторная работа 5 (4 часа). Динамика и JavaScript на Веб – странице.
- •Ответить на следующие вопросы
- •Лабораторная работа 6 по JavaScript (4 часа).
- •1.Проверка правильности заполнения формы на сайте
- •Методы объекта window
- •Задание 2. Функции
- •Задание 4. Работа с базами данных Выполнить одно из перечисленных ниже упражнений
- •Задание 5. Создание web-объектов Список заданий
- •Drupal: практические примеры
- •Приложение 1. Курсовые работы Курсовая работа 1. Создание клиентских приложений
- •Курсовая работа №2. Сайты клиент-сервер
- •Каталог товаров
- •Система вопрос/ответ
- •Курсовая работа №3. Технологии разработки Веб – приложений
- •Приложение 2. Быстрая разработка Веб-приложений
- •Начало работы с сайтом
- •Создание контента
- •Установка нового модуля
- •Создание шаблона
- •Включение блока отображение популярных статей
- •Удаление
4.3. Списки
В HTML используются маркированные и нумерованные списки. Каждый список размечается с помощью тегов двух типов: первый определяет параметры всего списка, второй – параметры каждого элемента.
Маркированные списки описываются дескриптором <ul>. Его атрибут type определяет вид маркера – квадратики (type=square), кружки (disc) и "пустые" окружности (circle). По умолчанию type=disc.
Нумерованные списки описываются дескриптором <ol>. Этот дескриптор имеет два параметра: type – определяющий способ нумерации, и start – определяющий, с какой буквы или цифры она будет начинаться. Параметр type принимает значения 1, I, i, А или а, что соответствует нумерации арабскими, большими и малыми римскими цифрами, а также большими или малыми латинскими буквами.
Каждый элемент нумерованных или маркированных списков размечается затем с помощью дескрипторов <li>. Этот тег имеет те же атрибуты, что и тег всего списка. Параметры дескриптора <li> имеют более высокий приоритет, чем параметры всего списка и позволяют изменить порядок нумерации или вид маркера.
Для организации многоуровневых списков со смешанной нумерацией используются вложенные дескрипторы <ul> и <ol>: вместо очередного блока <li>...</li> ставится соответствующий вложенный список.
<!Doctype html>
<!--пример pr12: Ненумерованные и нумерованные списки-->
<html><head>
<title>Использование списков </title>
</head>
<body>
<h3 align="center">Домашняя страница </h3>
<h4>Маркированный (ненумерованный) список - мои интересы:</h4>
<ul>
<b> Занятия в свободное время:</b>
<li> Компьютеры</li>
<li> Чтение книг</li>
<li> Бассейн</li>
<li> Отдых на природе</li>
</ul> <hr>
<h4> Нумерованный (упорядоченный) список:</h4>
<ol type="1">
<b>страны, которые я посетил:</b>
<li> Польша</li>
<li> Чехия</li>
<li> Германия</li>
</ol> <hr>
<ol type="a">
<b> Страны, которые я хочу посетить:</b>
<li> Америка</li>
<li> Китай</li>
<li> Франция</li>
</ol>
</body></html>
Для задания заголовка списка используется тег <lh>.
Кроме маркированных и нумерованных списков, в HTML предусмотрена конструкция, образующая список определений. Каждый элемент такого списка состоит из термина и его определения. Термины и определения находятся в отдельных абзацах, причем последние выводятся с увеличенным горизонтальным отступом относительно остального текста. Разметка списка определений осуществляется с помощью трех дескрипторов – <dl>, <dt> и <dd>. Дескриптор <dl> описывает весь список в целом, <dt> – определяемый термин, a <dd> – определение.
<!--пример: списки определений-->
<html>
<head><title>использование списков</title></head>
<body>
<h2 align=”center”>Толковый словарь</h2>
<dl>
<lh><big><b> cписок терминов</b></big></lh>
<dt><b>"Anchor"</b></dt>
<dd><i>то, что образует гипертекстовую ссылку</i></dd>
<dt><b>"Lamer"</b></dt>
<dd><i>неквалифицированный юзер</i></dd>
<dt><b>"Cookies "</b></dt>
<dd><i>технология, позволяющая сохранять информацию о посетителе </i></dd>
</dl>
</body></html>
Таблицы. Теги <table> </table> служат контейнером для элементов таблицы. Таблица состоит из строк, которые задаются с помощью тегов <tr> и являются контейнерами для ячеек-столбцов <td>. Для слияния горизонтальных и вертикальных смежных ячеек применяются параметры тега <td> – colspan и rowspan.
Тег <th> определяет заголовок для каждого столбца.
Атрибуты тега <table> : align – выравнивание таблицы; background – фоновый рисунок в таблице; bgcolor – цвет фона таблицы; border – толщина рамки в пикселах; bordercolor – цвет рамки; cellpadding – отступ от рамки до содержимого ячейки; cellspacing – расстояние между ячейками; cols – число колонок в таблице; height – высота, width – ширина таблицы.
Таблицы с невидимой границей долгое время использовались для табличной верстки веб-страниц. Им на смену пришел более современный способ верстки с помощью слоев и блоков. Пример:
<!Doctype html>
<!--пример pr13: Таблицы-->
<html> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Тег TABLE</title>
</head>
<body>
<table width="100%" border="1" cellspacing="0" cellpadding="4">
<tr align="center" bgcolor="#999999">
<td colspan="3" style="font-size: 160%; font-family: sans-serif">
Фирма Рога и Копытца</td> </tr>
<tr>
<td><img src="img/logo.gif" alt="ris1" width="120" height="70"
border="1" style="background: #CC9"></td>
<td align="center"><img src="img/fract.gif" alt="ris2" width="100"
height="70" style="background: #CF9"></td>
<td> <a href="pr1.htm">One</a><br>
<a href="pr2.htm">Two</a><br>
<a href="pr3.htm">Three</a>
</td>
</tr>
<tr> <td colspan="3">
<table width="100%" border="1" cellpadding="0" cellspacing="0"
bgcolor="#999999">
<tr><td align="center">Фирма веников не вяжет - фирма делает гробы </td></tr>
</table>
</td>
</tr>
</table>
</body></html>
Для задания отступов текста от границ ячеек и расстояния между ячейками используются два атрибута тега <table> – cellpadding и cellspacing. Отступы задаются в пикселях.
При создании таблицы использовались устаревшие атрибуты типа align внутри тегов <td>,<tr>, а не стили CSS. Атрибут align в теге <table> означает выравнивание таблицы относительно окна броузера, а в тегах <tr> и <td> – выравнивание текста относительно ячейки. Внутри <TABLE> допустимо также использовать элементы: <COL>, <COLGROUP>, <TBODY>, <TFOOT>, <THEAD>.
Для определения заголовка и "шапки" таблицы используются дескрипторы <caption> и <th>. Первый из них помещается внутри конструкции <table>... </table> и содержит заголовок всей таблицы. Второй применяется вместо дескриптора <td> для ячеек, которые нужно выделить.
<!--пример: Простая таблица-->
<html>
<head><title> Использование таблиц</title></head>
<body>
<table border=”1”>
<caption align=”top”> Лучшие нападающие года</caption>
<tr>
<th>Имя</th>
<th>Команда</th>
<th>Очки</th>
</tr>
<tr>
<td>small</td>
<td> Барселона</td>
<td>5</td>
</tr>
<tr>
<td>superman</td>
<td>dinamo</td>
<td>10</td>
</tr>
<tr>
<td>bigman</td>
<td>батэ</td>
<td>7</td>
</tr>
</table>
</body></html>
Для частичного отображения рамок используются атрибуты frame и rules. Для слияния горизонтальных и вертикальных смежных ячеек применяются параметры тега <td> – colspan и rowspan.
<!Doctype html>
<!--пример pr15: Таблицы-->
<html>
<head><title>Таблицы </title></head>
<body >
<br> <hr> <br>
<table border=”4” cellspacing=”3”>
<caption><b>Cтандартная таблица</b> </caption>
<tr>
<th bgcolor="yellow">Заголовок 1</th>
<th bgcolor="yellow">Заголовок 2</th>
</tr>
<tr> <td> Ячейка 1</td>
<td> Ячейка 2</td>
</tr>
<tr> <td> Ячейка 3</td>
<td> Ячейка 4</td>
</tr></table>
<br><hr><br>
<table border="4" cellspacing=”3” >
<caption>Таблица с объединенными ячейками</caption>
<tr> <td height="35" bgcolor="#FFCC33" colspan="2"> 1x1 </td>
<td width="50" bgcolor="#336699"> 1x2</td> </tr>
<tr> <td height="35" width="50" bgcolor="#336699"> 2x1 </td>
<td width="50" bgcolor="#FFCC33"> 2x2 </td>
<td width="50" bgcolor="#336699">2x3</td>
</tr> </table>
<br><hr><br>
<table>
<tr> <td height="35" bgcolor="#FFCC33"> 1x1 </td>
<td width="50" bgcolor="#336699"> 1x2</td>
<td width="50" bgcolor="#336699" rowspan="2"> 1x3</td>
</tr>
<tr> <td height="35" width="50" bgcolor="#336699">2x1</td>
<td width="50" bgcolor="#FFCC33"> 2x2</td> </tr>
</table>
<body></html>
Фреймы и <iframe>. Фреймы – средство HTML, позволяющее разделить пространство окна браузера на самостоятельные информационные зоны. Фреймовая система является устаревшей и в HTML5 запрещена.
Ранее фреймовая система описывается в HTML-коде с помощью дескриптора <frameset>. В нем помещаются дескрипторы <frame>, описывающие параметры отдельных фреймов. HTML-коды содержимого этих фреймов находятся в отдельных файлах, имена которых указаны в дескрипторах <frame> с помощью параметров src. Деление окна броузера на части осуществляется с помощью параметров дескриптора <frameset>. Для деления по вертикали используется параметр cols, а по горизонтали – параметр rows.
Для создания внутри окна области с собственной рамкой и самостоятельной прокруткой используется дескриптор <iframe>. Он имеет те же параметры, что и <frame>, но не нуждается в специальной фреймовой структуре, описываемой дескриптором <frameset>, и может располагаться внутри HTML-кода. Дескриптор <iframe> разрешен в HTML5