- •6.050902 «Радиоэлектронные аппараты»
- •Введение
- •200 (Ok). Запрос trace не должен содержать тела сообщения.
- •Структура html страниц
- •Результат в браузере
- •Нумерованные списки
- •5. Желтый
- •Параметры ячеек
- •Размеры изображения
- •Рамка вокруг изображения
- •Альтернативный текст
- •Отступы вокруг изображения
- •Разбиение изображения на части
- •Цвет ссылок
- •Vlink - цвет посещенной ссылки (visited link).
- •Отступы вокруг контента
- •Ссылка на новое окно
- •Ссылки во фреймах
- •Ссылка на адрес электронной почты
- •Кнопка с изображением
- •Примеры использования
- •11 Добавление стилей
- •Внутренние стили
- •Глобальные стили
- •Связанные стили
- •Сочетание различный видов стилей
- •Лекция: Введение в MySql
- •2. Лекция: Подготовка к работе с MySql
- •3. Лекция: Создание базы данных, основы работы с таблицами
- •Int: определяет тип столбца как целое число.
ХАРЬКОВСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ РАДИОЭЛЕКТРОНИКИ
Кафедра ТАПР
Конспект лекций
по дисциплине: ” Информационные технологии и Интернет технологи ”
для студентов всех форм обучения направления
6.050902 «Радиоэлектронные аппараты»
Электронное издание
ХАРЬКОВ 2014
Конспект лекций по дисциплине: ” Информационные технологии и Интернет технологи ” / Учред. доц. В.В. Евсеев – Харьков, ХНУРЭ, 20014.
Учредители: В.В. Евсеев
Рецензент В.А. Палагин, канд. техн. наук, профессор каф. ТАПР
Введение
С появлением высокопроизводительных серверов, сетевого оборудования и высокоскоростных каналов связи стала реальностью организация на основе ПК корпоративных вычислительных сетей.
Корпоративные сети объединены во всемирную глобальную сеть – Internet.
Одним из крупнейших достижений Internet стала "всемирная паутина" –
WWW (World Wide Web или просто Web). WWW представляет собой множество независимых, но взаимосвязанных серверов. Работая с Web,
пользователь "перемещается" между серверами, то есть последовательно соединяется с ними и получает информацию, как правило, в виде гипертекста. В современном Internet WWW играет настолько важную роль,
что именно ее часто имеют в виду, говоря об Internet, что, вообще говоря,
неверно.
Согласно REC-html40-971218 – стандарту языка HTML 4.0, Web – это сеть информационных ресурсов, в которой для доступности этих ресурсов наиболее широкой аудитории используется три механизма:
Единая схема именования ресурсов для поиска последних в Web – URI.
Протокол для доступа к ресурсам через Web – HTTP.
Гипертекст для перемещения по ресурсам – HTML.
Под Web-технологиями будем понимать всю совокупность средств для организации WWW. Поскольку в каждом сеансе взаимодействуют две стороны – сервер и клиент, Web-технологии разделяются на две группы – технологии стороны сервера (server-side) и технологии стороны клиента
(client-side). Благодаря Web-технологиям, пользователю WWW доступны не только статические документы, но и такие ресурсы, как программы или базы данных. Публикация баз данных в Internet в последнее время приобрела
огромную популярность и практически стала отдельной отраслью компьютерной науки.
Целью настоящего пособия является изложение основ программирования для Web с применением различных технологий. Пособие предназначено для читателей, впервые приступающих к изучению программирования для Web, но знакомых с основой сетевого взаимодействия, архитектурой приложений "Клиент-сервер", языками программирования C и C++, языком разметки гипертекста HTML, а также имеющих навык работы с браузерами Web. Справочная информация,
приведенная в пособии, может оказаться полезной и опытным Web-
программистам.
В пособии содержатся только самые необходимые данные. Более подробную информацию можно получить в стандартах:
RFC 1866 "Hypertext Markup Language – HTML 2.0"
RFC 1945 "Hypertext Transfer Protocol – HTTP/1.0"
RFC 2068 "Hypertext Transfer Protocol – HTTP/1.1"
REC-html4-971218 "Hypertext Markup Language – HTML 4.0"
ISO 8879 "Standard Generalized Markup Language – SGML".
1. ПРОТОКОЛ HTTP
Протокол передачи гипертекста HTTP (Hypertext Transfer Protocol, RFC
1945, 2068) предназначен для передачи гипертекстовых документов от сервера к клиенту. Протокол HTTP относится к протоколам прикладного уровня. Согласно RFC, транспортным протоколом для него должен быть протокол с установлением соединения, надежной передачей данных и без сохранения границ между сообщениями. На практике в подавляющем большинстве случаев транспортным протоколом для HTTP является протокол TCP, причем сервер HTTP (сервер Web) находится в состоянии ожидания соединения со стороны клиента стандартно по порту 80 TCP, а
клиент HTTP (браузер Web) является инициатором соединения.
В терминах Web все, к чему может получить доступ пользователь, –
документы, изображения, программы, – называется ресурсами. Каждый ресурс имеет уникальный для Web адрес, называемый универсальным идентификатором ресурса (URI – Universal Resource Identifier). В самом общем случае URI выглядит следующим образом:
protocol://user:password@host:port/path/file?paremeters#fragment
Отдельные поля URI имеют следующий смысл:
protocol - прикладной протокол, посредством которого получают доступ к ресурсу;
user - пользователь, от имени которого получают доступ к ресурсу либо сам пользователь в качестве ресурса;
password - пароль пользователя для аутентификации при доступе к ресурсу;
host - IP-адрес или имя сервера, на котором расположен ресурс;
port - номер порта, на котором работает сервер, предоставляющий доступ к ресурсу;
path - путь к файлу, содержащему ресурс;
file - файл, содержащий ресурс;
parameters - параметры для обработки ресурсом-программой;
fragment - точка в файле, начиная с которой следует отображать ресурс.
Взаимодействие между клиентом и сервером Web осуществляется путем обмена сообщениями. Сообщения HTTP делятся на запросы клиента серверу и ответы сервера клиенту.
Сообщения запроса и ответа имеют общий формат. Оба типа сообщений выглядят следующим образом: сначала идет начальная строка (start-line),
затем, возможно, одно или несколько полей заголовка, называемых, также,
просто заголовками, затем пустая строка (то есть строка, состоящая из символов CR и LF), указывающая конец полей заголовка, а затем, возможно,
тело сообщения:
начальная строка
поле заголовка 1
поле заголовка 2
...
поле заголовка N
CR LF
тело сообщения
Формат начальной строки клиента и сервера различаются и будут рассмотрены далее. Заголовки бывают четырех видов:
общие заголовки (general-headers), которые могут присутствовать как в запросе, так и в ответе;
заголовки запросов (request-headers), которые могут присутствовать только в запросе;
заголовки ответов (response-headers), которые могут присутствовать только в ответе;
заголовки объекта (entity-headers), которые относятся к телу сообщения и описывают его содержимое.
Каждый заголовок состоит из названия, символа двоеточия ":" и
значения. Наиболее важные заголовки приведены в табл. 1.
Таблица 1
Заголовки протокола HTTP
Заголовок
Назначение
Заголовки объекта
Allow
Перечисляет поддерживаемые сервером методы
Content-Encoding
Способ, которым закодировано тело сообщения, например,
с целью уменьшения размера
Content-Length
Длина сообщения в байтах
Content-Type
Тип содержимого и, возможно, некоторые параметры
ETag
Уникальный тэг ресурса на сервере, позволяющий
сравнивать ресурсы
Expires
Дата и время, когда ресурс на сервере будет изменен, и его
нужно получать заново
Last-Modified
Дата и время последней модификации содержимого
Заголовки ответа
Age
Число секунд, через которое нужно повторить запрос для
получения нового содержимого
Location
URI ресурса, к которому нужно обратиться для получения
содержимого
Retry-After
Дата и время или число секунд, через которое нужно
повторить запрос, чтобы получить успешный ответ
Server
Название программного обеспечения сервера, приславшего
ответ
Заголовки запроса
Accept
Типы содержимого, которое "понимает" клиент и может
воспроизвести
Accept-Charset
Кодировки символов, в которых клиент может принимать
текстовое содержимое
Accept-Encoding
Способ, которым сервер может закодировать сообщение
Host
Хост и номер порта, с которого запрашивается документ
If-Modified-Since
Заголовки запроса для условного обращения к ресурсу
If-Match
If-None-Match
If-Range
If-Unmodified-Since
Range
Запрос части документа
User-Agent
Название программного обеспечения клиента
Общие заголовки
Connection
Указывает серверу на завершение (close) или продолжение
(keep-alive) сеанса
Date
Дата и время формирования сообщения
Окончание табл. 1
Заголовок
Назначение
Pragma
Специальные, зависящие от реализации команды,
касающиеся передаваемого содержимого
Transfer-Encoding
Способ кодирования сообщения при передаче
Подробное описание заголовков HTTP/1.0 можно найти в RFC 2068.
В теле сообщения содержится собственно передаваемая информация – полезная нагрузка сообщения. Тело сообщения представляет собой последовательность октетов (байтов). Тело сообщения может быть закодировано, например, для уменьшения объема передаваемой информации,
при этом способ кодирования указывается в заголовке объекта Content-Encoding.
Сообщение запроса от клиента к серверу состоит из строки запроса
(request-line), заголовков (общих, запросов, объекта) и, возможно, тела сообщения. Строка запроса начинается с метода, затем следует идентификатор запрашиваемого ресурса, версия протокола и завершающие символы конца строки:
<Метод> <Идентификатор> <Версия HTTP>
Метод указывает команду протокола HTTP, которую нужно применить к запрашиваемому ресурсу. Например, метод GET говорит о том, что клиент хочет получить содержимое ресурса. Идентификатор определяет
запрашиваемый ресурс. Версия HTTP обозначается строкой следующего вида:
HTTP/<версия>.<подверсия>
В RFC 2068 представлен протокол HTTP/1.1.
Рассмотрим основные методы протокола HTTP.
OPTIONS
Метод OPTIONS выполняет запрос информации об опциях соединения
(например, методах, типах документов, кодировках), которые поддерживает сервер для запрашиваемого ресурса. Этот метод позволяет клиенту определять опции и/или требования, связанные с ресурсом, или возможности сервера, не производя никаких действий над ресурсом и не инициируя его загрузку.
Если ответ сервера – это не сообщение об ошибке, то заголовки объекта содержат информацию, которую можно рассматривать как опции соединения. Например, в заголовке Allow перечислены все методы,
поддерживаемые сервером для данного ресурса.
Если идентификатор запрашиваемого ресурса – звездочка ("*"), то запрос OPTIONS предназначен для обращения к серверу в целом.
Если идентификатор запрашиваемого ресурса – не звездочка, то запрос
OPTIONS применяется к опциям, которые доступны при соединении с указанным ресурсом.
GET
Метод GET позволяет получать любую информацию, связанную с запрашиваемым ресурсом. В большинстве случаев, если идентификатор запрашиваемого ресурса указывает на документ (например, документ HTML,
текстовый документ, графическое изображение, видеоролик), то сервер возвращает содержимое этого документа (содержимое файла). Если запрашиваемый ресурс является приложением (программой), формирующим в процессе своей работы некоторые данные, то в теле сообщения ответа возвращаются эти данные, а не двоичный образ выполняемого файла. Это используется, например, при создании приложений CGI. Если идентификатор запрашиваемого ресурса указывает на директорию (каталог, папку), то, в
зависимости от настроек сервера, может быть возвращено либо содержимое директории (список файлов), либо содержимое одного из файлов,
находящегося в этой директории (как правило, index.html или Default.htm). В
случае запроса папки ее имя может указываться как с символом "/" на конце,
так и без него. При отсутствии на конце идентификатора ресурса данного символа сервер выдает один из ответов с перенаправлением (с кодами статуса 301 или 302).
Одной из разновидностей метода GET является "условный GET"
("conditional GET"), при котором сообщение запроса включает заголовки запроса If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, или
If-Range. Условный метод GET запрашивает передачу объекта, только если он удовлетворяет условиям, описанным в приведенных заголовках.
Например, при наличии заголовка If-Modified-Since содержимое запрашиваемого ресурса будет получено только в том случае, если оно не изменялось после момента времени, указанного в качестве значения данного заголовка. Условный метод GET предназначен для уменьшения ненужной загрузки сети, поскольку позволяет не загружать вторично уже сохраненные клиентом данные.
Различают также "частичный GET" ("partial GET"), при котором сообщение запроса включает заголовок запроса Range. Частичный GET
запрашивает передачу только части объекта. Частичный метод GET
предназначен для уменьшения ненужной загрузки сети, за счет запроса только части объекта, когда другая часть уже загружена клиентом.
Значением заголовка Range является строка "bytes=" с последующим указанием диапазона байтов, которые необходимо получить. Байты нумеруются с 0. Начальный и конечный байты диапазона разделяются символом "–". Как начальный, так и конечный байты в диапазоне могут отсутствовать. Если нужно получить несколько диапазонов, то они перечисляются через запятую. Если некоторые из перечисленных диапазонов пересекаются, то сервер осуществляет их объединение. Сообщение ответа в случае запроса с частичным методом GET должно содержать заголовок
Content-Range, в котором указывается передаваемый диапазон. Если сервер передает несколько непересекающихся диапазонов, то заголовок Content-Type принимает специальное значение "multypart/byteranges". Тело сообщения разбивается на части, разделенные сгенерированным сервером разделителем и переданным в качестве параметра заголовка Content-Type.
Каждая отдельная часть содержит собственные заголовки Content-Type и Content-Range с пустой строкой перед содержимым диапазона.
HEAD
Метод HEAD идентичен GET, за исключением того, что сервер не возвращает в ответе тело сообщения. Информация, содержащаяся в HTTP
заголовках ответа на запрос HEAD, идентична информации, представляемой в ответ на запрос GET для того же ресурса. Этот метод может использоваться для получения информации об объекте запроса без непосредственной пересылки тела объекта. Метод HEAD может использоваться для тестирования гипертекстовых связей.
POST
Метод POST используется для запроса, при котором адресуемый сервер принимает данные, включенные в тело сообщения (объект) запроса, и
отправляет их на обработку приложению, указанному как запрашиваемый ресурс. POST разработан для того, чтобы общим методом реализовать следующие функции:
аннотация существующих ресурсов;
регистрация сообщения на электронной доске объявлений (BBS), в
конференциях новостей (newsgroups), списках рассылки (mailing lists)
или подобной группе статей;
передача блока данных, например результат ввода в форме, процессу обработки;
выполнение запросов к базам данных (БД);
Фактически функция, выполняемая методом POST, определяется приложением, на которое указывает идентификатор запрашиваемого ресурса.
Наряду с методом GET, метод POST используется при создании приложений
CGI. Браузер может формировать запросы с методом POST при отправке форм. Для этого элемент FORM документа HTML, содержащего форму,
должен иметь атрибут method со значением POST.
Приложение, запуск которого инициируется методом POST, может выполнить действие на сервере и не передать никакого содержимого в качестве результата работы. В зависимости от того, включает ответ тело сообщения, описывающее результат, или нет, код состояния в ответе может быть как 200 (OK), так и 204 (Нет содержимого, No Content).
Если ресурс на сервере был создан, ответ содержит код состояния 201 (Создан, Created) и включает заголовок ответа Location.
PUT
Тело сообщения, которое передается в запросе с методом PUT,
сохраняется на сервере, причем идентификатор запрашиваемого ресурса будет идентификатором сохраненного документа. Если идентификатор запрашиваемого ресурса указывает на уже существующий ресурс, то включенный в тело сообщения объект рассматривается как модифицированная версия ресурса, находящегося на сервере. Если новый ресурс создан, то сервер сообщает пользовательскому агенту об этом посредством ответа с кодом состояния 201 (Создан, Created).
Различие между методами POST и PUT заключается в различном значении идентификатора запрашиваемого ресурса. URI в запросе POST
идентифицирует ресурс, который обрабатывает включенный в тело сообщения объект. Этим ресурсом может быть приложение, принимающее данные. Напротив, URI в запросе PUT идентифицирует объект, включенный в запрос в виде тела сообщения, то есть пользовательский агент назначает данный URI включенному ресурсу.
DELETE
Метод DELETE запрашивает сервер об удалении ресурса, имеющего запрашиваемый идентификатор. Запрос с данным методом может быть отвергнут сервером, если у пользователя нет прав на удаление запрашиваемого ресурса.
TRACE
Метод TRACE используется для возврата переданного запроса на уровне протокола HTTP. Получатель запроса (сервер Web) отправляет полученное сообщение обратно клиенту как тело сообщения ответа с кодом состояния