
- •Минск, бгу,
- •Глава 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. Быстрая разработка Веб-приложений
- •Начало работы с сайтом
- •Создание контента
- •Установка нового модуля
- •Создание шаблона
- •Включение блока отображение популярных статей
- •Удаление
Понятие и краткое описание протоколов
Глобальная сеть Интернет объединяет локальные сети, компьютеры и устройства. Чтобы компьютеры и устройства понимали пересылаемую в виде пакетов информацию, необходимы специальные соглашения, называемые "протоколы". Протоколы – это набор правил, которые определяют способы и форматы передачи пакетов данных и управляющих сообщений. Наиболее известными протоколами Интернет являются протоколы передачи данных TCP/IP и протоколы уровня приложений: POP3, SMTP, FTP, HTTP, IMAP4, WAP. Функции каждого протокола реализуют компоненты программного обеспечения, называемые модулями.
Протоколы TCP/IP(Transmission Control Protocol/Internet Protocol) были разработаны в 1971–1972 г.г. в рамках проекта ARPANet. Набор (стек) протоколов TCP/IP обеспечивает единый способ организации соединения узлов в сети и возможность подключения к сети компьютеров различной архитектуры. Стек протоколов TCP/IP стал основой глобальной сети Интернет, а также локальных сетей, использующих технологии Интернета – интранет.
Сетевой протокол нижнего уровня IP отвечает за правильность доставки сообщений по указанному адресу. Транспортный протокол TCP используется, чтобы разбить передаваемую информацию на части и пронумеровать каждую часть. Далее TCP проверяет, все ли части получены на принимающей стороне, и собирает их в сообщение.
Для передачи управляющих сообщений и сообщений об ошибках используется протокол ICMP ( Internet Control Message Protocol). На транспортном уровне кроме надежного протокола TCP имеется также быстрый и ненадежный протокол передачи пакетов в виде дейтаграмм UDP (User Datagram Protocol – протокол пользовательских дейтаграмм).
HTTP (Hypertext Transfer Protocol) – протокол принадлежит к прикладному уровню, более высокому по сравнению с TCP/IP. HTTP используется для передачи по сети гипертекстовых документов, отображаемых браузером в виде Web-страниц. Браузер, который является HTTP-клиентом, посылает запрос Web-серверу, на который указывает адрес получателя. Протокол устанавливает структуру запроса (Request) от клиента-браузера к серверу HTTP и структуру ответа (Response) сервера. Ответ сервера отображается браузером в виде Веб-страницы.
FTP (File Transfer Protocol) – данный протокол был разработан для передачи файлов от клиента к FTP-серверу и обратно. Адрес FTP-ресурса в Интернете выглядит следующим образом: ftp://ftp.netscape.com. Протокол устанавливает структуру запроса и ответа.
POP3 (Post Office Protocol Version 3 – протокол почтового отделения, версия 3) – это стандартный протокол почтового соединения, предназначенный для обработки запросов на получение почты с POP-сервера.
При использовании протокола POP3 все электронные письма скачиваются пользователю на компьютер и автоматически удаляются с сервера. Все дальнейшие действия с письмами будут производиться на компьютере пользователя. При использовании протокола IMAP электронные письма находятся на сервере и скачиваются оттуда каждый раз при просмотре.
IMAP (Internet Message Access Protocol – протокол прикладного уровня для доступа к электронной почте. Базируется на транспортном протоколе TCP и использует порт 143.
SMTP (Simple Mail Transfer Protocol – простой протокол передачи почты) – протокол, который задает набор правил для отсылки почты клиента на SMTP-сервер. В качестве почтового клиента может быть выбрана программа Microsoft Outlook.
WAP (Wireless Application Protocol – беспроводной протокол передачи данных) был разработан в 1997 г. группой компаний Ericsson, Motorola и др., чтобы предоставить доступ к службам Интернет пользователям беспроводных устройств – мобильных телефонов, электронных органайзеров. WAP возник в результате слияния двух сетевых технологий: беспроводной цифровой передачи данных и сети Интернет.
Модель OSI/ISO
В 1978 году Международная организация стандартизации International Standards Organization (ISO) разработала модель спецификаций, описывающих архитектуру сети, образованной разными устройствами. В 1984 г. ISO выпустила новую версию, названную эталонной моделью взаимодействия открытых систем (Open System Interconnection reference model, OSI). Версия 1984 г. стала стандартом: ее спецификации используют производители при разработке сетевых продуктов и при построении сетей. В модели OSI сетевые функции распределены между семью уровнями.
7. Прикладной уровень
6. Представительский уровень
5. Сеансовый уровень
4. Транспортный уровень
3. Сетевой уровень
2. Канальный уровень
1. Физический уровень
Нижние уровни – Физический и Канальный – определяют физическую среду для передачи данных через плату сетевого адаптера и кабель. Самые верхние уровни определяют, каким способом осуществляется доступ приложений к услугам связи. Каждый уровень выполняет несколько операций, подготавливающих данные для доставки по сети на другой компьютер. Уровни отделяются друг от друга границами – интерфейсами. Все запросы от одного уровня к другому передаются через интерфейс. Каждый уровень использует услуги нижележащего уровня и предоставляет услуги вышележащему. При этом каждый уровень на одном компьютере работает так, будто он напрямую связан с таким же уровнем на другом компьютере. В действительности связь осуществляется между смежными уровнями одного компьютера. Ниже приведена схема передачи пакета (infp) от одного компьютера другому. На каждом уровне к пакету присоединяются соответствующие заголовки и другая информация (рис. 1.5).
Компьютер А -----------> Компьютер B
7 Прикладной -(infp) <--------->Прикладной -(infp)
6 Представительский (infp)+H7<--------->Представительский-(infp)+H7
5 Сеансовый -(infp)+H7 +H6 <--------->Сеансовый -(infp) +H7+H6
4 Транспортный -(infp)+H7+H6+H5<--------->Транспортный -(infp) +H7+H6+H5
3 Сетевой -(infp)+H7+H6 +H5+H4<------>Сетевой -(infp)+H7+H6+H5+H4
2 Канальный -(infp)+H7+H6+H5+H4+H3<---->Канальный -(infp)+H7+H6+H5+H4+H3
1 Физический -(infp) +H7+H6+H5+H4+H3+H2<->Физический(infp)+H7+H6+H5+H4+H3+H2
|| || ============================================================
Рис.1.5.
Данные в сеть поступают в виде пакетов. Пакет (packet) – это единица информации, передаваемая между устройствами сети как одно целое. Пакет проходит последовательно через все уровни сети. На каждом передающем уровне к пакету добавляется некоторая информация, форматирующая или адресная, необходимая для передачи данных по сети. На принимающей стороне пакет проходит через все уровни в обратном порядке. Программное обеспечение на каждом уровне читает информацию пакета, затем удаляет информацию, добавленную к пакету на этом же уровне отправляющей стороной, и передает пакет следующему уровню.
Когда пакет дойдет до Прикладного уровня, вся адресная информация будет удалена и данные примут свой первоначальный вид. За исключением самого нижнего уровня сетевой модели, никакой иной уровень не может непосредственно послать информацию соответствующему уровню другого компьютера. Информация на компьютере-отправителе должна пройти через все уровни. Затем она передается по сети на компьютер-получатель и опять проходит сквозь все уровни, пока не достигнет того уровня, с которого она была послана на компьютере-отправителе.
Взаимодействие смежных уровней осуществляется через интерфейс: он определяет услуги, которые нижний уровень предоставляет верхнему, и способ доступа к ним. Поэтому каждому уровню одного компьютера «кажется», что он непосредственно взаимодействует с таким же уровнем другого компьютера.
Прикладной уровень (7) – самый верхний в модели OSI, обеспечивает услуги, поддерживающие такие приложения пользователя, как программное обеспечение для передачи файлов, доступ к базам данных и электронную почту. Прикладной уровень управляет доступом к сети, потоком данных и обработкой ошибок.
Представительский уровень (6) – определяет формат, используемый для обмена данными между сетевыми компьютерами. Этот уровень можно назвать переводчиком. На компьютере-отправителе данные, поступившие от прикладного уровня, на уровне 6 переводятся в общепонятный промежуточный формат. На компьютере-получателе на этом уровне происходит перевод из промежуточного формата в тот, который используется прикладным уровнем компьютера. Представительский уровень отвечает за преобразование протоколов, трансляцию данных, их шифрование, смену или преобразование применяемого набора символов (кодовой таблицы). Представительский уровень управляет сжатием данных. На этом уровне работает утилита, называемая редиректором. Ее назначение – переадресовывать операции ввода/вывода к ресурсам сервера.
Сеансовый уровень (5) – позволяет двум приложениям на разных компьютерах устанавливать, использовать и завершать соединение, называемое сеансом. На этом уровне выполняются такие функции, как распознавание имен и защита, необходимые для связи двух приложений. Сеансовый уровень обеспечивает синхронизацию между пользовательскими задачами посредством расстановки в потоке данных контрольных точек. В случае сетевой ошибки, потребуется передать данные, следующие за последней контрольной точкой. На этом уровне выполняется управление диалогом между взаимодействующими процессами, устанавливается, какая из сторон осуществляет передачу, когда и как долго.
Транспортный уровень (4) – гарантирует доставку пакетов без ошибок, потерь и дублирования. На этом уровне сообщения переупаковываются: длинные разбиваются на несколько пакетов, а короткие объединяются в один. Это увеличивает эффективность передачи пакетов по сети. На транспортном уровне компьютера-получателя сообщения распаковываются, восстанавливаются в первоначальном виде, и посылается сигнал подтверждения приема.
Сетевой уровень (3) – отвечает за адресацию сообщений и перевод логических адресов и имен в физические адреса. Исходя из конкретных сетевых условий, приоритета услуги и других факторов здесь определяется маршрут от компьютера-отправителя к компьютеру-получателю. На этом уровне решаются также такие задачи, как коммутация пакетов, маршрутизация и перегрузки. Если сетевой адаптер маршрутизатора не может передавать большие блоки данных, посланные компьютером-отправителем, на Сетевом уровне эти блоки разбиваются на меньшие. А Сетевой уровень компьютера-получателя собирает эти данные в исходное состояние.
Канальный уровень (2) – осуществляет передачу кадров данных от Сетевого уровня к Физическому. Кадры – это логически организованная структура даных. Канальный уровень компьютера-получателя, наоборот, упаковывает поступающий поток битов в кадры данных. Канальный уровень обеспечивает точность передачи кадров между компьютерами через физический уровень. Канальный уровень получателя проверяет наличие возможных ошибок. Кадры, поврежденные при передаче, или кадры, получение которых не подтверждено, посылаются вторично. Передаваемая управляющая информация используется для маршрутизации, а также указывает на тип пакета и сегментацию. Данные – собственно передаваемая информация и контрольная сумма (CRC), которая помогает выявить ошибки, что гарантирует правильный прием информации.
Физический уровень передает неструктурированный поток битов по сетевому кабелю от одного компьютера к другому. Содержание самих битов на данном уровне значения не имеет. Данный уровень устанавливает длительность каждого бита и способ перевода бита в соответствующие электрические или оптические импульсы, передаваемые по сетевому кабелю. Физический уровень также формирует сигналы, которые переносят данные, поступившие от всех вышележащих уровней. На этом уровне определяется способ соединения сетевого кабеля с платой сетевого адаптера. Два нижних уровня модели OSI, Физический и Канальный, устанавливают, каким образом несколько компьютеров могут одновременно использовать сеть.