- •Минск, бгу,
- •Глава 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.2.3. Новые возможности html5
В HTML5 добавлены новые элементы:
• canvas – для рисования
• video и audio – для мультимедиа
• storage – для хранения данных
• article, footer, header, nav, section – для контента
• calendar, date, time, email, url, search – новые формы.
Первая задача HTML5 – правильно интегрировать мультимедийный контент. В HTML 4.01 для отображения мультимедиа используется Adobe Flash Player, в HTML5 предполагается использоваться теги video и audio без использования дополнительных плагинов.
<video src="video.mp4" controls><⁄video>
<audio src="The Imperial March.mp3" controls></audio>
Поддержка аудио
<audio autoplay="autoplay" controls="controls">
<source src="file.ogg" />
<source src="file.mp3" />
<a href="file.mp3">Download this file.</a>
</audio>
Поддержка видео
<source src="cohagenPhoneCall.ogg" type="video/ogg; codecs='vorbis, theora'" />
<source src="cohagenPhoneCall.mp4" type="video/mp4; 'codecs='avc1.42E01E, mp4a.40.2'" />
<a href="cohagenPhoneCall.mp4">Download this video instead.</a> </p>
</video>
Видео может быть предварительно загружено при помощи preload="preload" или просто добавлением preload: <video preload>
Атрибут Controls. Чтобы отобразить элементы управления, необходимо определить атрибут controls внутри элемента video:
<video preload controls>
Тег <canvas> обеспечивает динамическую перерисовку изображения в зависимости от действий пользователя или изменяемых данных. Он будет описывать размеченную на веб-сайте область, а движок браузера будет отображать в реальном времени графический контент – чертежи, графики, небольшие игры и даже 3D. Для этого разрабатывается стандарт WebGL. Для повышения скорости предусматривается поддержка многопоточности. Эта опция носит название "Web Workes", она выполняет скрипты и веб-приложения параллельно.
Меняется способ хранения информации на клиентском приложении. Сейчас ее можно сохранить только в маленьких файлах cookies. А по новой технологии WebStorage на стороне клиента будут храниться до 10 Мбайт данных в специальной базе данных. С ее помощью можно даже хранить специальные веб-приложения и работать с ними без подключения к интернету.
HTML5 обеспечивает безопасность компонентов. Самая большая угроза в сети исходит из тегов iFrame (в этой области отображается содержимое стороннего сайта). Если в этой области есть вирус, то он может проникнуть в компьютер. В новом стандарте в теги iFrame добавлен фильтр Sandbox, который будет ограничивать действие скриптов с внешних сайтов.
Еще одна новинка – технология WebForms 2.0. Она более эффективно выполняет обработку введенных пользователем данных, что также обеспечивает более высокую скорость. Новые формы: like calendar, date, time, email, url, search.
Теги HTML5. Таблица 4.5.
Тег |
Характеристика тега |
<!-- --> |
Определяет комментарии |
<!DOCTYPE> |
Определяет тип документа |
<a> </a> |
Определяют гиперссылку |
<abbr> </abbr> |
Определяют аббревиатуру |
<address> </address> |
Отображают текст в формате адреса |
<applet> </applet> |
Не поддерживаются в HTML5 |
<area /> |
Определяeт активную область навигационной карты |
<article> </article> |
Новые теги – oпределяют внешний контент |
<aside> </aside> |
Новые теги – дополнительный контент |
<audio> </audio> |
Новые теги – определяют фоновый звук |
<b> </b> |
Отображают часть текста полужирным шрифтом |
<basefont> |
Не поддерживается в HTML5 |
<bdo> </bdo> |
Определяют направление текста |
<big> </big> |
Не поддерживаются в HTML5 |
<blockquote></blockquote> |
Определяют блочную цитату |
<body> </body> |
Определяют тело документа |
<br /> |
Осуществляет перенос строки |
<button> </button> |
Создают кнопку |
<caption> </caption> |
Определяют надпись над таблицей |
<center> </center> |
Не поддерживаются в HTML5 |
<cite> </cite> |
Преобразуют текст в курсивный |
<code> </code> |
Преобразуют текст в моноширинный |
<col /> |
Определяет свойства колонок таблицы |
<colgroup> </colgroup> |
Группируют колонки таблицы |
<command> </command> |
Новые теги – добавляют команду к кнопке |
<datalist> </datalist> |
Новые HTML-теги – определяют допустимые значения |
<dd> </dd> |
Определение списка определений |
<del> </del> |
Отображают перечеркнутый текст |
<details> </details> |
Новые теги – определяют детали документа |
<dialog> </dialog> |
Новые теги – определяют диалог |
<dfn> </dfn> |
Преобразуют шрифт в наклонный |
<dir> </dir> |
Не поддерживаются в HTML5 |
<div> </div> |
Определяют секцию документа |
<dl> </dl> |
Создают список определений |
<dt> </dt> |
Oпределяют определяемый термин |
<em> </em> |
Преобразуют текст в курсивный |
<embed /> |
Новый тег – внедряет интерактивный объект |
<fieldset> </fieldset> |
Объединяют элементы формы |
<figure> </figure> |
Новые HTML-теги – группируют элементы страницы |
<font> </font> |
Не поддерживаются в HTML5 |
<footer> </footer> |
Новые теги – нижняя часть документа |
<form> </form> |
Определяют HTML-форму |
<frame /> |
Не поддерживается в HTML5 |
<frameset> </frameset> |
Не поддерживаются в HTML5 |
<h1> </h1> – <h6> </h6> |
Определяют заголовки |
<head> </head> |
Содержат информацию о документе |
<header> </header> |
Новые теги – верхняя секция документа |
<hgroup> </hgroup> |
Новые теги – определяют группу заголовков |
<hr /> |
Создает горизонтальную линию |
<html> </html> |
Определяют HTML-документ |
<i> </i> |
Преобразуют текст в курсивный |
<iframe> </iframe> |
Создают документ внутри документа |
<img /> |
Определяет изображение |
<input /> |
Создаeт поля для ввода данных, кнопки |
<ins> </ins> |
Преобразуют текст в подчеркнутый |
<kbd> </kbd> |
Преобразуют текст в моноширинный |
<label> </label> |
Определяют лeйбл для тега <input /> |
<legend> </legend> |
Заголовок для тегов <fieldset> </fieldset> |
<li> </li> |
Определяют элемент (пункт) списка |
<link /> |
Определяет ссылку на внешний источник |
<map> </map> |
Определяют навигационную карту |
<mark> </mark> |
Определяют важную часть текста |
<menu> </menu> |
Определяют список-меню |
<meta /> |
Содержит информацию о документе |
<nav> </nav> |
Новые теги – определяют группу ссылок |
<noscript> </noscript> |
Предупредят, если браузер не читает скрипты |
<object /> |
Внедряет объекты в веб-страницу |
<ol> </ol> |
Определяют упорядоченный (нумерованный) список |
<optgroup> </optgroup> |
Определяют группу элементов <option> </option> |
<option> </option> |
Определяют элемент выпадающего списка |
<p> </p> |
Определяют параграф |
<param /> |
Определяет проигрыватель |
<pre> </pre> |
Определяют отформатированный текст |
<q> </q> |
Определяют короткую цитату |
<s> </s> |
Не поддерживаются в HTML5 |
<samp> </samp> |
Преобразуют текст в моноширинный |
<script> </script> |
Определяют скрипт |
<section> </section> |
Новые HTML-теги – определяют секцию документа |
<select> </select> |
Определяют выпадающий список |
<small> </small> |
Преобразуют текст в более мелкий |
<span> </span> |
Определяют линейную секцию в документе |
<strike> </strike> |
Не поддерживаются в HTML5 |
<strong> </strong> |
Преобразуют шрифт в полужирный |
<style> </style> |
Определяют стилевые описания |
<sub> </sub> |
Преобразуют обычный текст в текст в нижнем индексе |
<sup> </sup> |
Преобразуют текст к верхнему индексу |
<table> </table> |
Определяют таблицу |
<tbody> </tbody> |
Определяют тело таблицы |
<td> </td> |
Определяют ячейку таблицы |
<textarea> </textarea> |
Определяют текстовое поле |
<tfoot> </tfoot> |
Определяют нижнюю часть таблицы |
<th> </th> |
Определяют заголовок таблицы |
<thead> </thead> |
Определяют верхнюю часть таблицы |
<time> </time> |
Новые теги – определяют дату/время |
<title> </title> |
Определяют основной заголовок документа |
<tr> </tr> |
Определяют табличный ряд |
<u> </u> |
Не поддерживаются в HTML5 |
<ul> </ul> |
Определяют ненумерованный список |
<var> </var> |
Определяют переменную |
<video> </video> |
Новые теги – внедряют видео в страницу |
В HTML5 удалены следующие теги: basefont, big, center, font, s, strike, tt, u, frame, frameset, noframes, acronym, applet, isindex, dir.
Добавлены новые теги:
<!Doctype html>, section, article, aside, header, footer, nav, figure, audio, video, source, embed, meter, time, canvas, output, datagrid, details, datalist, datatemplate, progress.
Отметим, что по правилам XHTML все теги и атрибуты должны быть набраны в нижнем регистре, кроме тега <!Doctype html>. По этим же правилам необходимо закрывать любые теги, в том числе одиночные, кроме <!Doctype>. Вместо закрывающего тега может быть использована запись: <br />, <hr />, <img />, <input />, <link />, <meta />.
Валидация документов. Валидацией называется проверка документа на соответствие стандартам (www.w3c.org). Валидация широко применяется для проверки XML-документов, и для XHTML-документов.
Способы проверки веб-страниц на наличие ошибок делятся на онлайновые и локальные. Онлайновые предназначены для проверки страниц через Интернет, а локальные – для проверки документов на текущем компьютере. По адресу http://validator.w3.org располагается распространенный инструмент для проверки отдельных страниц на валидность. Этот сайт предлагает три способа проверки: по адресу; проверку локального файла; проверку введенного в форму кода. Если сайт уже опубликован в Интернете, то любую страницу можно проверить, вводя в текстовое поле ее адрес. Так, вводя http://htmlbook.ru в форме «Validate by URI» и нажав кнопку Check, получим сообщение о том, валидный это документ или нет. Хотя в текстовом поле вводится адрес сайта, проверяется не сайт целиком, а только главная страница.
Документы, еще не выставленные в Интернете, можно проверить с помощью формы, озаглавленной «Validate by File Upload» (валидация загруженных файлов). Вначале следует указать путь к HTML-файлу, после чего нажать кнопку Check . Файл будет загружен на сервер и проверен на ошибки.
В некоторых случаях требуется проверить код без сохранения его в отдельный файл. В этом случае пригодится форма для прямого набора текста и отправки его на сервер для валидации.
Для браузера Firefox может использоваться расширение HTML Validator. Эта программа построена по той же технологии, что и валидатор W3C, но не требует подключения к Интернету и работает прямо «на лету». Cкачать можно по адресу http://users.skynet.be/mgueury/mozilla/
