
- •Пособие по курсу «Веб – программирование»
- •Для студентов специальности
- •«Математика и информационные технологии»
- •Минск, бгу,
- •Содержание
- •Глава 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. Программирование для серверов
- •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.4. Формы html
- •4.4.1. Новые элементы форм html5
- •4.4.2. Валидация формы
- •4.5. Метатеги
- •4.6. Новые возможности html5
- •Поддержка аудио
- •Поддержка видео
- •4.7. Каскадные таблицы стилей css
- •4.7.1. Способы включения каскадных таблиц стилей
- •Заголовок 1 Заголовок 2 Заголовок 3
- •4.7.2. Стили текста
- •4.7.3. Цвет и фон
- •Свойства таблиц
- •4.7.4. Псевдоклассы
- •4.7.5. Псевдоэлементы
- •4.7.6. Форматирование псевдоклассов и псевдоэлементов
- •Различные свойства
- •4.7.7. Представление документа в виде блоков
- •Отступы, поля, позиционирование
- •Границы элементов
- •4.7.8. Новое в css3
- •Глава 5. Язык JavaScript
- •5.1. Включение скриптов JavaScript в html-код
- •5.1.1.Создание простых сценариев
- •5.1.2.Отладка скриптов. Ввод и вывод данных
- •5.2. Описание языка
- •5.2.1. Типы данных
- •Булев тип. Переменные булева типа могут принимать значения: true – истина; false – ложь.
- •Переменные типа Undefined и Null. Тип undefined используется для несуществующих переменных или переменных, значения которых еще не определены. Тип null – пустое значение, например.
- •5.2.2 Операторы и выражения
- •Оператор with присоединяет имя объекта к имени свойства объекта. С помощью оператора with можно обращаться со свойствам объекта в сокращенном виде:
- •Оператор switch позволяет выбрать вариант
- •5.3. Функции
- •5.3.1. Стандартные функции и библиотеки.
- •5.3.2. Функции пользователя
- •5.3.3. Передача параметров по значению и по ссылке
- •5.3.4. Глобальные и локальные переменные
- •5.3.5. Модели событий
- •Ключевое слово this
- •5.4. Объектная модель
- •5.4.1. Пользовательские объекты
- •5.4.2. Объекты и прототипы
- •5.4.3. Исключения: throw/catch/finally
- •5.4.4. Встроенные объекты String, Array, Date, Math Объект String.Экземпляр объекта можно объявить двумя способами:
- •Объект Array
- •Объект Number (Число)
- •Объект Math (Математика)
- •Объект Date (Дата)
- •Объект Function
- •Объект RegExp и регулярные выражения
- •5.5.1. Свойства и методы объекта document
- •5.5.2. Коллекции
- •5.5.3.Свойства элемента innerHtml и outerHtml
- •5.5.4.Навигация по дереву документа
- •5.5.5.Создание новых узлов
- •Удаление и замена узлов в документе
- •5.5.6.Объект window
- •Свойства окна, передаваемые методу open()
- •Методы объекта window
- •5.5.7.Свойства и методы объекта navigator
- •5.5.8.Свойства и методы объекта history
- •5.5.9.Свойства и методы объекта location
- •5.5.11.Каскадные таблицы стилей и объект Style
- •5.6.1 Класс xmlHttpRequest
- •Использование dom
- •Работа с cookie
- •5.8.1.Доступ к элементам dom
- •5.8.2. Манипуляции с dom
- •5.8.3. Использзование css
- •5.8.4. Блочная верстка
- •5.8.5. Обработка событий
- •5.8.6. Работа с ajax
- •5.9. Примеры на JavaScript
- •Глава 6. Язык серверных скриптов php
- •Инструменты для разработки
- •Как php работает
- •6.1. Описание языка
- •Массивы и их инициализация
- •Операции и выражения
- •Битовые операции
- •Операции сравнения
- •Логические операции
- •Строковые операции
- •Операторы управления
- •Функции
- •Рекурсивные функции
- •Область действия и время жизни переменных
- •Изменяемые (динамические) переменные
- •Внешние библиотечные функции
- •Функции для работы с массивами
- •Функции для работы со строками
- •Функции форматных преобразований строк
- •Преобразование строк и файлов к формату html и наоборот
- •Преобразование html в простой текст
- •Установка локальных настроек
- •Регулярные выражения
- •Функции даты и времени
- •Математические функции
- •6.2. Объектно-ориентированное программирование в php Основные понятия объектно-ориентированного программирования
- •Конструкторы и деструкторы
- •Наследование классов и интерфейсов
- •Магические методы
- •Обработка ошибок
- •Ошибки php и журнал error_reporting
- •6.4. Файлы
- •Чтение и запись бинарных файлов
- •Работа с каталогами в рнр
- •6.5. Php и база данных MySql
- •Выборка данных из бд
- •Выборка данных из таблиц бд
- •Работа с MySql занесение и получение данных из базы данных
- •Организации работы с данными
- •6.6. Передача данных от клиента к серверу и обратно по протоколу http
- •Клиентские методы http
- •6.7. Обработка html-форм
- •Передача переменных из формы в скрипт
- •Передача данных на сервер по методам get и post
- •Ввод данных из различных форм
- •6.8. Работа с e-mail
- •6.9. Cookies-наборы
- •6.10. Сессии (Сеансы)
- •Отмена регистрации сеансовых переменных
- •6.11. Сериализация объектов
- •Сериализация объектов в сессиях
- •6.12. Сетевые соединения и сокеты
- •6.13. Вывод графических данных с помощью рнр
- •Получение информации об изображении
- •Функции рисования прямых и кривых линий
- •Заливка изображений
- •Удаление и изменение цветов палитры
- •Создание прозрачности в изображениях
- •Рисование с помощью кистей
- •Использование шрифтов и вывод строк
- •Слияние изображений с помощью gd
- •Лабораторная работа 3 (4ч). Применение каскадных таблиц стилей css
- •Трехколоночный контейнерный макет сайта:
- •Лабораторная работа 4. Применение каскадных таблиц стилей css
- •Лабораторная работа 5 (4 ч). Динамика и JavaScript на веб-странице
- •Ответьте на следующие вопросы:
- •Лабораторная работа 6 (4 ч).
- •Проверка правильности заполнения формы на сайте.
- •Методы объекта window
- •Задание 2. Функции
- •Задание 4. Работа с базами данных Выполните одно из перечисленных ниже упражнений
- •Задание 5. Создание web-объектов Задания:
- •Лабораторная работа 8(4 ч.) Разработка сайтов на основе cms Joomla! и Drupal
- •Drupal: практические примеры
- •Приложения
- •1. Курсовые работы Курсовая работа 1. Создание клиентских приложений
- •Курсовая работа 2. Сайты клиент-сервер
- •2. Каталог товаров
- •Курсовая работа 3. Технологии разработки Веб-приложений. Проекты сайтов
- •2. Быстрая разработка веб-приложений
- •Начало работы с сайтом
- •Создание контента
- •Установка нового модуля
- •Создание шаблона
- •Включение блока отображение популярных статей
- •Удаление
Глава 5. Язык JavaScript………………………………………………..202
5.1. Включение скриптов JavaScript в HTML-код
5.2. Описание языка
5.2.1. Типы данных
5.2.2. Операторы и выражения
5.3. Функции
5.3.1. Стандартные функции
5.3.2. Функции пользователя
5.3.3. Передача параметров по значению и по ссылке
5.3.4. Глобальные и локальные переменные
5.3.5. Модели событий
5.4. Объектная модель
5.4.1. Пользовательские объекты
5.4.2. Прототипы
5.4.3. Исключения: throw/catch/finally
5.4.4. Встроенные объекты String, Array, Date, Math
5.5. Document Object Model (DOM)
5.5.1. Коллекции
5.6. JavaScript и AJAX
5.6.1 Класс XMLHttpRequest
5.7. JQuery
5.7.2. Манипуляции с DOM
5.7.3. Обработка событий
5.8. Примеры на JavaScript
Глава 6. Язык серверных скриптов php…………...…………286
6.1. Описание языка
6.2. Объектно-ориентированное программирование в PHP
6.3. Обработка исключений
6.4. Файлы
6.5. PHP и база данных MySQL
6.6. Передача данных от клиента к серверу и обратно по протоколу HTTP
6.7. Обработка HTML-форм
6.8. Работа с E-mail
6.9. Cookies-наборы
6.10. Сессии (Сеансы)
6.11. Сериализация объектов
6.12. Сетевые соединения и сокеты
6.13. Вывод графических данных с помощью РНР
Глава 7. Лабораторные работы……………………..………………….400
Лабораторная работа 1. Инструменты и средства создания простых сайтов
Лабораторная работа 2. Работа с гипертекстовыми документами
Лабораторная работа 3. Применение каскадных таблиц стилей CSS Лабораторная работа 4. Блочная верстка сайтов на основе CSS
Лабораторная работа 5. Динамика и JavaScript на Веб-странице Лабораторная работа 6. Проверка правильности заполнения форм на JavaScript
Лабораторная работа 7. PHP. Массивы и строки. Функции. Файлы и строки. Работа с базами данных
Лабораторная работа 8. Разработка сайтов на основе CMS Joomla! и Drupal
Приложение 1. Курсовые работы…………………………………...443
Курсовая работа 1. Создание клиентских приложений…….…..…443
Курсовая работа 2. Сайты клиент-сервер..………….…….………..446
Курсовая работа 3. Технологии разработки Веб – приложений….451
Приложение 2. Быстрая разработка Веб-приложений и CMS….....453
Литература и электронные источники………….…….……….…....465
Расскажи мне в двух словах роман “Мастер и Маргарита”…
Из разговора двух девушек Жени и Саши
Введение Коротко об истории Интернет
Компьютерная сеть Интернет представляет собой одно из самых выдающихся достижений человечества последнего времени. Интернет представляет собой мировую сеть, состоящую из миллионов локальных сетей и устройств. На вопрос “Как был изобретен Интернет?” часто отвечают: “Интернет изобрели случайно!”, имея в виду известную историю появления и развития Интернет. Действительно, Интернет был создан в военных лабораториях, которые, всегда работают на оборону, а изобретают всевозможные средства для нападения. Здесь же все получилось наоборот – из военных исследований выросла мировая компьютерная сеть. Если быть точнее, речь идет о первом и втором шагах на пути развития глобальной сети.
Первый шаг в развитии Интернет был сделан в конце 1960-х гг. Министерство обороны США в это время профинансировало разработку проекта надежной сети, с помощью которой управление войсками и обмен данными между компьютерами были бы возможны даже в случаях катастроф или атомной бомбардировки. Сеть должна была продолжать функционировать, даже тогда, когда отдельные ее участки будут уничтожены. Руководило проектом управление научных разработок (ARPA). В 1969 г. такая система была создана и названа ARPAnet. Данная сеть могла бы остаться одним из многих профинансированных и выполненных проектов, если бы не концептуальные особенности, заложенные в данный проект. Во-первых, в сети не было разделения на главный компьютер- подчиненный компьютер. Во-вторых, попутно был разработан межсетевой протокол IP(Internet Protocol).
Определение. Сетевым протоколом называется стандарт, содержащий описание правил приема и передачи сообщений, команд, текста, графики, иных данных и служащий для синхронизации работы компьютеров и устройств в сети.
Протоколы регламентируют обмен сообщениями и пакетами данных. Для поддержки протоколов используются программные модули, реализующие используемые протоколы. Межсетевой протокол IP является многоплатформенным стандартом, позволяющим объединять в сеть разнородные компьютеры и устройства, управляемые различными ОС, но поддерживающие протокол IP.
В начале 1980-х гг. Национальный научный фонд США при поддержке ARPA соединил в единый комплекс центральные компьютеры пяти локальных сетей. Эти сети, как и ARPAnet, использовали бесплатный, свободный протокол обмена данными IP. Это был второй шаг на пути развития Интернет, на котором было планировалось присоединить к глобальной сети и другие университеты.
Вскоре выяснилось, что создание «сети сетей» будет дешевле, если соединить между собой научные сети университетов через локальные сети коммерческих фирм. При такой схеме информация может передаваться от одной локальной сети к другой через ближайших соседей, а большинство расходов будет ложиться на коммерческие фирмы. Бизнесмены быстро поняли, что после некоторых финансовых инвестиций компьютерные сети можно использовать для коммерческих целей. К этому времени американский Федеральный Совет по информационным сетям отменил требование, по которому для присоединения к сети было необходимо разрешение Совета. После этого сеть стала быстро развиваться. Через трансатлантический кабель и специализированные спутники была установлена связь через океан с европейскими научными центрами и университетами, к которым затем подсоединились местные локальные сети. Международная организация по стандартизации (Organization for International Standardization, ISO) разработала стандарты сетевых протоколов, которые позволили бы связать между собой компьютеры в разных частях света. Однако пользователи как раньше, так и сейчас используют на своих компьютерах машинах программное обеспечение, поддерживающее IP. Таким был третий шаг в развитии Интернет.
В конце 1980-х гг. доступ к сети Интернет по коммутируемым телефонным каналам посредством модемов получили частные пользователи. Это можно назвать четвертым шагом в развитии Интернет.
К 1990 г. Интернет был создан, затем он активно развивался и наконец, завоевал мир. Сейчас в сети Интернет миллионы сетевых компьютеров и миллиарды пользователей. Постоянно растется в основном за счет ускорения каналов связи.
Определение. Трафиком называется общий суммарный поток информации через один сетевой узел.
Определение. Сетевой узел – это подключенный к сети Интернет компьютер, который объединяет несколько локальных сетей, использующих один сетевой протокол.