
- •Минск, бгу,
- •Глава 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. Быстрая разработка Веб-приложений
- •Начало работы с сайтом
- •Создание контента
- •Установка нового модуля
- •Создание шаблона
- •Включение блока отображение популярных статей
- •Удаление
Адресация в глобальных сетях и в Интернет
Локальные компьютеры, объединенные в ЛС, входят в глобальные сети и Интернет. Обмен информацией происходит в форме пакета данных, который передается по сети. IP-адрес компьютера-отправителя и IP-адрес компьютера-получателя указывается в заголовке пакета.
При выходе в Интернет каждому компьютеру назначается внешний статический или динамический IP-адрес. Функция автоматического назначения IP-адреса и прокси-сервер гарантирует уникальность выдаваемого IP-адреса. IP-адреса присваивается не только компьютеру, но и другим сетевым устройствам, например, маршрутизатору. Маршрутизаторы используются для соединения нескольких локальных сетей или для связи локальных сетей с глобальными (в роли шлюзов и файрволов). Маршрутизатор имеет несколько IP-адресов с номерами объединяемых сетей и оснащен несколькими сетевыми адаптерами.
Рассмотрим сначала адресацию в сетях IPv4. IP-адрес состоит из двух частей: адреса сети и номера узла. Для упрощения проблемы маршрутизации большую IP-сеть разбивают на несколько подсетей, присвоив каждой из них свой адрес. Подсети – это отдельные, самостоятельно функционирующие части сети, имеющие свой идентификатор.
Левый байт (октет) содержит номер 1..255 и указывает класс локальной интрасети, в которой находится искомый компьютер. Последний (правый) идентификатор IP-адреса обозначает номер хоста в данной локальной сети. Между правым и левым октетами в такой записи расположены номера подсетей более низкого уровня. В качестве примера возьмем IP-адрес 190.80.100.10. Итак, мы отправляем пакет в 80-ю подсеть 190-й подсети сети Интернет. Она содержит 255 более мелких сетей, нам нужна 100-я сеть. Наконец, к 100-й сети подключен ряд компьютеров, из которых сообщение получит машина, имеющая в системе номер 10.
Соответствие классов сетей значению первого байта IPv4-адреса приведено в Таблице 1.1.
Значение первого байта IP-адреса Таблица 1.1.
Класс сети |
Диапазон значений первого октета |
Возможное количество подсетей |
Возможное количество узлов |
А В С D Е |
1-126 128-191 192-223 224-239 240-247 |
126 16382 2097150 --- --- |
16777214 65534 254 2-28 2-27 |
Адреса класса А используются в крупных сетях общего пользования, поскольку позволяют создавать системы с большим количеством узлов. Адреса класса В применяют в корпоративных сетях средних размеров, адреса класса С – в локальных сетях небольших организаций. IP-адрес с нулевым идентификатором узла используется для обозначения сети в целом; IP-адрес с идентификатором узла в виде единичных битов является широковещательным (broadcast) адресом.
Значение 127 первого октета зарезервировано для служебных целей, поскольку IP-пакеты, направленные по такому адресу, не передаются в сеть, а ретранслируются обратно на этот же компьютер, как только что принятые (кольцевой хост 127.0.0.1).
В операционной системе (ОС) Windows XP есть набор полезных утилит, запускаемых из консоли: «Пуск» / «cmd» / «Ок» и используемых для посылки управляющих сообщений. Диагностические утилиты можно запускать, набрав имя и нажав <Enter>:
ipconfig <Enter>
ipconfig –all <Enter>
Приведенная утилита отображает информацию обо всех сетевых подключениях: IP-адрес, маску подсети, шлюз, серверы DNS;
ping удаленный_узел<Enter> – позволяет определить доступность узла.
Эта команда посылает пакеты удаленному узлу и ждет ответа. Если ответы приходят, значит, канал работает. На некоторых узлах протокол ICMP ( Internet Control Message Protocol -- протокол межсетевых управляющих сообщений), который используется командой ping, может быть заблокирован файерволом (firewall стена, которая разделяет смежные здания, предохраняя от пожара). Файервол или сетевой экран защищает компьютерные сети или узлы от несанкционированного доступа.
tracert -d удаленный_узел – отображает все узлы (роутеры, шлюзы) на пути следования пакетов к удаленному узлу, показывая время задержки в миллисекундах или превышение интервала ожидания.
netstat -an – отображает все текущие установленные соединения с удаленными узлами и все «слушаемые» сокеты.
ping - t удаленный_узел – определяет скорость соединения.
Рассмотрим пример возможной последовательности действий при необходимости диагностики сети:
1. При необходимости отключить антивирус и файервол.
2. Установить соединение с Интернетом
3. Утилитой ipconfig определяем текущий IP и основной шлюз (шлюз по умолчанию, роутер). Например, получим:
IP 91.76.64.213
шлюз 91.76.64.1
Если провайдером были предоставлены статические IP, то отображаться должны именно они. В остальных случаях IP адреса назначаются динамически.
Утилита ipconfig-all (с ключом -all) показывает прописанные DNS-серверы распознавания имен. Если этой информации нет, значит, сбились настройки сетевого подключения. Необходимо их настроить.
4. Далее «пингуем» шлюз провайдера, например:
ping 91.76.64.1
Если шлюз откликается, то все нормально.
5. Теперь «пингуем» DNS-сервер:
ping 195.34.32.116
Если отклик есть и сервер распознавания имен виден, но превышен интервал ожидания, то проблема на стороне клиента.
6. «Пингуем» какой-либо удаленный узел, сначала по его IP-адресу, а потом по имени, например:
ping 91.76.64.1
ping stream.ru
Если по IP-адресу узел доступен, а по имени нет, значит, существует проблема с распознаванием имен DNS-сервером.
Еще одна утилита:
nslookup имя_узла ip_dns_сервера
Эта утилита делает запрос ДНС-серверу: «Какой IP-адрес соответствует имени узла?». Ip_dns_сервера можно не указывать – будет использоваться ДНС-сервер из настроек Интернет соединения.
Можно и точнее определить место сбоя сообщения командой:
tracert -d 91.76.65.10
или
tracert -d stream.by
Эта команда отобразит цепочку всех промежуточных узлов, через которые проходит пакет.
В случае проблем с DNS можно просто прописать у себя в настройках в качестве первичного DNS-сервера адрес другого DNS-сервера, например Google. Google предоставил свои публичные ДНС-серверы для свободного бесплатного использования. Эти серверы имеют IP-адреса: 8.8.8.8 и 8.8.4.4. Можно их прописать в качестве первичного и вторичного серверов имен и использовать, если нет возражений провайдера.