
- •Минск, бгу,
- •Глава 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. Каскадные таблицы стилей css
CSS (Cascading Style Sheets – каскадные таблицы стилей) – это технология характеристики внешнего вида документа, написанного языком разметки. Основная идея CSS состоит в том, чтобы отделить описание логической структуры документа (HTML) от его внешнего вида(CSS).
Таблицы стилей CSS позволяют уменьшать размер HTML-кода, улучшать его читаемость, сокращать объем работы разработчиков, менять внешний вид документа без изменения HTML-кода. Одна таблица стилей может применяться к нескольким документам. CSS используется как средство оформления веб-страниц в формате HTML, XHTML и XML.
Использование CSS позволяет ускорить работу веб-приложений за счет сокращения загружаемого кода и за счет кэширования файлов.
4.3.1. Способы включения каскадных таблиц стилей
Существует несколько способов включения CSS в HTML-документ.
Встраивание стиля (inline styles) с помощью атрибута style в один из тегов HTML-документа. Например:
<p style="font-size: 21px; color: green;">текст</p>
<span style="color:red; background-color:yellow; font-variant: small-caps">
Красный текст на желтом фоне, маленькими заглавными буквами.</span>
Стили можно встроить в теги p, h, body, div, span. Cпособ встраивания стиля нарушает идеологию CSS, и не рекомендуется.
Внедрение таблицы стилей в заголовок HTML-документа между тегами <head> и </head> с помощью тега style. При этом CSS-стили располагаются между открывающим и закрывающим тегами style и содержат определения для всего HTML-документа:
<head>
<style type="text/css">
h1{ color: red }
</style>
</head>
Приведенные два способа не являются наилучшими, так как размещение стилей непосредственно в разметке страницы, не позволяет браузеру кэшировать стили.
Связывание с внешней таблицей стилей. Если предполагается использовать один стиль для нескольких страниц документа или нескольких документов, следует описать стиль в отдельном файле с расширением .CSS, например style.css. Для подключения затем стилевого файла используется тег <link>, расположенный внутри тега <head>.
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
Первые два свойства элемента link указывают браузеру, что на странице используется CSS. Значение последнего свойства – имя файла, содержащего стиль страницы.
Импортирование – добавление внешней таблицы стилей при помощи правила @import. В отличие от HTML-тега <link> правило @import является языковой конструкцией CSS и добавляется в style:
<head>
<style type=”text/css”>
@import "style.css";
</style>
</head>
Свойство @import таблицы стилей следует задавать в начале стилевого блока перед заданием остальных правил. Значением @import является URL файла, содержащего таблицы стилей. Импортирование позволяет встраивать в документ таблицу стилей, расположенную на сервере.
Таблицы стилей не чувствительны к регистру. Текстовые комментарии в таблицах стилей оформляются так же, как и в языке Си:
/* color is red */
Стили. Стиль – это правило, описывающее форматирование фрагмента документа. Каждое правило состоит из селектора и определения. Селектор устанавливает, на какую часть документа распространяется правило, а определение (в фигурных скобках) задает значения его свойств:
Selector{
Property1: value1 value2;
Property2: value3 value4;
Property3: value5 value6;
}
Селекторы могут быть тегами HTML, селекторами классов, селекторами псевдоклассов, селекторами идентификаторов.
Если у свойства в фигурных скобках несколько значений, то они отделяются друг от друга пробелами. После описания каждого свойства ставится точкой с запятой, даже если свойство одно. В таблицу стилей можно ставить любое количество пробелов и переносов строк, браузер оставит один. Значения свойств, являющихся адресами устанавливается так: url(адрес). Ниже приводится пример стилей CSS, встраиваемый в теги HTML.
<DOCTYPE html>
<html> <head>
<title>pr1css-Пример css, встраиваемого в HTML страницу</title>
<style type="text/css">
body { color: gold; background: blue; font: bold 14px comic sans ms; text-align: justify; margin: 10px; }
html {color: black; }
p {color: red;}
h1{font-family: arial; font-weight: bold; font-size: 14pt; color:green;}
h2{font-family: arial; font-size: 110 %; color:black;}
h3 {font-weight:bold; color: red;}
</style>
Текст из раздела Head
</head>
<body>
<h1>Примеры CSS – это заголовок H1</h1>
<p>
Пример кода CSS, встраиваемого в HTML страницу. <br>
Селектором является тег body
</p>
<h2>Примеры CSS – это заголовок H2</h2>
<h3>h3 – Жирный заголовок красного цвета </h3>
Текст имеет вид: золотые буквы на голубом фоне, <br>жирный шрифт Comic Sans MS размером 14 пикселей, выровненный по обоим краям с <br> отступами со всех сторон 10 пикселей.
</body> </html>
Группирование. Если двум селекторам присваивается одинаковое определение, то их можно записывать через запятую:
h1, h2 {
font-family: arial
}
Несколько определений записываются через точку с запятой:
h1{font-weight:bold} h1 {font-size: 14pt}
h1 {font-weight: bold; font-size: 14pt;}
Наследование. При определении стиля элемента, вложенные элементы наследуют свойства головного элемента. Например, если в параграфе <p> задается красный цвет шрифта, то выделенный с помощью <b> текст также будет красным:
<p style=”color: red;”>Внутри параграфа с красным цветом текста, <b>выделенный текст</b> наследует цвет головного тега.</p>
Наследование удобно использовать для описания свойств элементов по умолчанию. Для этого достаточно описать стиль тега <body>, порождающего остальные элементы документа.
При сложении стилей приоритет имеют атрибуты, определенные в более конкретном стиле. Стили в порядке убывания конкретности: <body> ->другие теги html-> CSS – классы-> встроенные стили.
CSS-классы. Чтобы иметь возможность отображать одни и те же элементы HTML в разных местах по-разному, необходимо использовать CSS-классы. Это позволяет для одного тега использовать несколько классов и соответственно стилей. Свойства класса присваиваются определенному тегу с помощью атрибута class: class="classname". Имя класса и его свойства перед этим должны быть определены в виде селектора класса: .classname{свойства}
Это можно продемонстрировать на следующем примере:
<html>
<head>
<title>Использование классов</title>
<style type="text/css">
html{color:green;}
.font1 {
color: yellow;
background: red;
}
.font2 {
color: blue;
background: yellow;
}
</style>
</head>
<body>
<span class="font1">Желтый текст на красном фоне</span>
<span class="font2">Синий текст на желтом фоне</span>
<table class="font2" border="2">
<tr>
<td>Это ячейка1 таблицы</td>
<td>это ячейка2 таблицы</td>
</tr>
</table>
</body>
</html>
Классы «font1» и «font2» задают цвет фона и изображения. Эти классы были применены к тегу <span> и таблице. Когда, например, необходимо поменять стиль выделения текста с помощью класса во всем документе, то достаточно поменять значение цвета в определении этого класса. Если необходимо определить класс не для любого элемента HTML, а только для конкретного тега, то используется конструкция тегового класса:
имя_тега.имя_класса {свойства}
Теговый класс сработает только в том теге, для которого он предназначен, а для всех остальных тегов будет проигнорирован. Рассмотрим, например, класс select для тега <span>:
<html><head>
<title>pr2css – Использование классов</title>
<style type="text/css">
.clasname{ font-size: 9pt; color:green ;}
span.select {color: red;}
</style>
</head>
<body>
<p class=clasname>Стиль работает</p>
<p class=select>Стиль не работает</p>
Здесь мы выделили <span class="select">часть текста красным.</span>
</body></html>
Значением class может быть множественный класс, состоящий из нескольких слов, разделенных пробелами. Например:
<p class=”urgent warning”>Опасность! Предупреждение!</p>
.warning.urgent {font-style: italic;}
Объединяя 2 селектора класса, можно выбрать только те элементы, которые имеют оба имени класса, стоящие в любом порядке.
В каких тегах лучше определять стили посредством класса? Чаще всего для этого используется одна из следующих конструкций:
<p class="big">Что-то</p>
<td class="big">Что-то</td>
<div class="big">Что-то</div>
<span class="big">Что-то</span>
ID-селекторы используются для определения уникальных частей веб-страницы типа <header>, <footer>. Идентификаторы применяют, когда необходимо найти разделы страницы, которые встречаются один раз. Для стиля, используемого неоднократно, применяются классы.
При объявлении стиля перед ID-селектором ставится #:
#green {color: green;}
Затем HTML-элементу, подлежащему форматированию, присваивается соответствующее значение атрибута id:
<footer id="green">Text</p>.
Символы"#" и "." используются только при описании стилей. При вставке имени идентификатора или класса в теги их указывать не нужно.
Теги div , span и link. Элементы <span> и <div> используются для структурирования документа совместно с атрибутами class и id. В сочетании с CSS <span> может использоваться для визуальных эффектов применимо к отдельным блокам текста. Пример:
span.benefit {
color:red;}
<p>Если ты умный, почему не богатый </p>
<p> Если ты очень умный, то <span сlass="benefit">
здоровый</span>, и<span class="benefit">богатый</span> </p>
Тег <div> в отличие от <span> делает до и после себя отбивку (как и <p>). В то время как <span> используется в элементах уровня блока, <div> применяется для группирования блоков-элементов. Тег <div> является универсальным контейнером для элементов разметки.
Тег link используется для установки связи между HTML-документом и внешней таблицей стилей из CSS-файла, например:
<link rel="stylesheet" href="/s.css" type="text/css" media="all" />
Свойства шрифтов (фонтов). Свойства шрифтов могут быть следующими: font-family| font-style |font-variant | font-weight| font-size. Каждое свойство может принимать одно или несколько значений (табл. 4.6.).
Свойства значений шрифтов. Таблица 4.6.
Свойство |
Характеристика свойства |
font-family |
Указывается до трех шрифтов, через запятую: serif|san-serif |cursive |fantasy | monospace. |
font-style |
:normal, italic (курсив), oblique (наклонный). |
font-variant |
Варианты начертания: normal, small-caps (все буквы заглавные уменьшенного размера). |
font-weight |
Жирность: normal , bold, bolder(жирный), lighter(бледный). |
font-size |
Размер в абсолютных: xx-small | x-small | small | medium | large | x-large | xx-large | {Абсолютный размер} или в относительных единицах или процентах: larger | smaller | {Отн. размер}%; |
Пример:
<!DOCTYPE html >
<html> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pr3css – Установка шрифта с помощью стилей</title>
<style type="text/css">
body {
font-family: Times New Roman, times, serif;/* шрифты*/
font-size: 100%; /* Размер шрифта для основного текста */
font-style: oblique;}
td {
font-family: arial, sans-serif; /* Семейства шрифтов*/
font-size: 90%; /* Размер шрифта для заголовка таблицы */
font-weight: bold ;/* Полужирная насыщенность*/
}
h1, h2, h3 {
font-family: verdana, tahoma, arial, sans-serif ;/*шрифты*/
}
#cursive{ font-style: italic;} /* Курсивный текст */
</style>
</head>
<body>
<div id="cursive">Курсивный текст</div>
<h1>Заголовок 1</h1>
<h2>Заголовок 2</h2>
<h3>Заголовок 3</h3>
<table>
<tr><td>Таблица<td>
</tr>
</table>
</body></html>
Результат:
Курсивный текст