WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     || 2 | 3 |
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Разработка Internet-приложений Учебно-методическое пособие по специальности «Прикладнаяматематика и информатика» 010200 Воронеж, 2003 2 Утверждено научно-методическим советом протокол № от 2003 г.

факультета ПММ Составители: Рудалев В.Г.

Артемова Л.Ф.

Пособие подготовлено на кафедре технической кибернетики и автоматического регулирования факультета прикладной математики, информатики и механики Воронежского государственного университета.

Рекомендуется длястудентов длястудентов 4 курса д/о факультета ПММ.

3 В данной работе, являющейся продолжением серии ранее изданных пособий [6-7], рассматриваются основополагающие вопросы публикации баз данных в Internet. Приводятся основные понятия и термины компьютерных сетей, базовые конструкции языка HTML. Описываются протокол HTTP и технология CGI, методика создания Internet-приложений баз данных средствами Delphi.

Содержание 1. Основные понятия ……………………………………… 3 1.1. Сетевые протоколы …………………………………… 3 1.2. Адреса TCP/IP …………………………………………… 6 1.3. Адресация ресурсов …………………………………… 8 1.4. Протокол HTTP …………………………………… 8 1.5. Web-серверы ……………………………………… 10 2. Публикация баз данных в Internet ………………………… 11 2.1. Базовые технологии ………………………………… 11 2.2. Internet-программирование средствами Delphi ………… 14 Задания …………………………………………………… 26 Литература ………………………………………………… 26 Приложение 1. Конструкции языка HTML …………………… 26 Приложение 2. Класс TWebRequest …………………………… 29 1. Основные понятия 1.1. Сетевые протоколы Протокол – набор формализованных правил, регулирующих передачу информации по сети. Последняя задача чрезвычайно сложна и многообразна. Решить целый комплекс технических и программных проблем (проектирование сетевого оборудования, помехоустойчивая передача информации по каналам связи, алгоритмы исправления ошибок, методы интерпретации битовой последовательности и т.д. и т.п.) в рамках одного протокола затруднительно. Поэтому в передаче участвуют несколько протоколов, каждый из которых отвечает за свой участок работы.

Протоколы образуют многоуровневую иерархическую модель. Протокол каждого уровняреализован в виде отдельного программного модуля. Длявыполнения своих задач модуль обращается с запросом только к модулю непосредственно нижележащего уровня а результаты работы передает непосредственно, вышележащему уровню. Модули независимы и общаются через стандартные наборы функций – интерфейсы. Традиционно, как и в любых компонентах операционных систем, нижние уровни теснее привязаны к аппаратуре, верхние – к прикладному программному обеспечению. Иерархически организованный набор протоколов, достаточный для взаимодействия узлов в сети, называется стеком протоколов.

Протокол каждого уровня определяет последовательность и формат сообщений, которыми обмениваются сетевые компоненты одного уровня, лежащие в разных узлах. Забегаявперед, скажем, что например, компоненты Web-сервер и Web-браузер относятся кприкладному уровню и обмениваются с помощью протокола HTTP (см. п. 1.4).

Общепризнанной и рекомендуемой является семиуровневаямодель OSI (Open System Interconnection, модель взаимодействия открытых систем). Однако архитектура многих сетей, например, сетей TCP/IP, является несколько упрощенной и неполностью соответствует модели OSI (см. рис.).

Модель OSI Стек TCP/IP Прикладной WWW, FTP, Telnet, SMTP, … Представительный Сеансовый TCP Транспортный Сетевой IP Канальный Ethernet Физический Витаяпара, оптоволокно и пр.

Кратко охарактеризуем уровни модели OSI применительно к стеку TCP/IP.

На физическом уровне регламентируются физические характеристики соединений в сетях. На данном уровнестандартизованы кабели, разъемы, уровни сигналов и т.п. Примером протокола физического уровняявляется спецификация 100Base-T, котораяопределяет кабель (неэкранированную витую пару категории 5), тип разъема (RJ-45) и электрические характеристики передающей среды, обеспечивающаяпередачу данных со скоростью до 100Мбит/сек.

Протокол канального уровня тесно привязан к топологии сети (общая шина, звезда и др.). Здесь решается задача передачи данных внутри сети по известным аппаратным MAC-адресам узлов. Примером такого протокола является Ethernet. В наиболее распространенной топологии «Звезда» компьютеры объединены в сеть через концентраторы (Hub) или коммутаторы (Switch), см. рис.

Компьютеры подключаются кконцентратору через разъемы (порты) на его корпусе. Сообщения, передаваемые между узлами, разбиваются на фрагменты (кадры), снабжаемые Ethernet-заголовком. В заголовке в частности, указаны, MAC-адреса получателяи приемника. Концентратор усиливает сигналы и передает их на все порты, т.е. всем узлам сети. Тот узел, адрес которого совпадает с указанным в заголовке, принимает кадр, остальные отбрасывает. Отсюда основные недостатки концентраторов – перегруженность сетевого трафика и возможность выхода кадра во внешнюю сеть, длякоторой он непредназначен.

Последнее нарушает безопасность сети. Сейчас концентраторы повсюду вытесняются коммутаторами. Коммутатор запоминает длякаждого порта MAC-адрес компьютера, к нему подключенного, и передает кадр только в нужный порт.

Коммутатор Узел Узел Узел Узел Сетевой уровень служит дляобразования единой транспортной системы, объединяющей несколько сетей, причем эти сети могут использовать совершенно различные принципы передачи сообщений между конечными узлами. Локальные сети подразделений внутри предприятия обычно объединены коммутаторами. Соединение сетей предприятий в Internet происходит через маршрутизаторы (Router). В отличие от канального уровня, на сетевом уровнеиспользуются не аппаратные, а IP-адреса (см. п.1.2). Маршрутизаторы, в отличие от коммутаторов и концентраторов, работают на сетевом уровнеи умеют выбирать оптимальный маршрут доставки сообщения. Маршрут – последовательность маршрутизаторов, через которые проходит пакет. Портам маршрутизаторов также назначены IP-адреса.



Задача транспортного уровня – надежнаядоставка сообщений. Исходнаябитоваяпоследовательность разбивается на пакеты, каждый из которых доставляется до цели автономно. Пакеты снабжаются заголовком, содержащим информацию, необходимую для восстановления исходного сообщения, и информацию (контрольную сумму) для проверки целостности доставленного сообщения. В случае правильного приема узлу-передатчику посылается подтверждение, при отсутствии подтверждения организуется повторнаяпередача пакета. В отличие от протокола IP, модули протокола TCP непередают сообщение между произвольными узлами сети, а устанавливают логическое соединение между прикладными процессами, на них выполняющимися; такое соединение называют TCP-соединением. Для передачи сообщения TCP вызывает нижележащие модули IP. Пакеты, поступающие на транспортный уровень, организуются операционной системой в виде множества очередей к точкам входа прикладных процессов. В терминологии TCP/IP такие очереди называются портами. Номер порта в совокупности с IP-адресом узла однозначно идентифицирует прикладной процесс; этот набор параметров называется сокетом (socket). Дополнительный идентификатор (номер порта) необходим, так как на одном узлемогут функционировать несколько прикладных процессов, например, несколько серверов (WWW, FTP и др.). Назначение номеров портов для наиболее распространенных сетевых служб выполняется централизованно. Например, номер закреплен за FTP серверами, 80 – WWW-серверами, 23 – службой telnet.

Сеансовый уровень устанавливает правила подключения пользователей при работе в сети. Представительный уровень решает некоторые дополнительные задачи представления информации, например шифрацию-дешифрацию. На этом уровнефункционирует известный протокол криптозащищенного туннелирования SSL [4].

На верхнем прикладном уровне определяется взаимодействие компьютеров в сети на уровнеприложений. Именно здесь определяются правила интерпретации программой полученной битовой последовательности.

Передача информации по стеку происходит сверху вниз. Данные, сформированные прикладным процессом (например, Web-сервером), поступают на вход модуля TCP, где разбиваются на пакеты и снабжаются TCP-заголовком. Далее на сетевом уровне каждый пакет дополняется IP-заголовком, при этом TCPзаголовок сохраняется. В конечном итоге пакет доставляется до цели средствами канального уровня, дляэтого он дополняется Ethernet-заголовком и принимает следующий упрощенный вид (если сети связаны по Ethernet-технологии).

Ethernet- IP-заголовок TCP-заголовок Данные заголовок Замечание. Если участок между исходной и целевой сетью построен по другой технологии (не Ethernet), то Ethernet-заголовок пакета соответственно заменяется.

При доставке пакета в сеть назначения заголовки последовательно отбрасываются. Модуль IP отбрасывает Ethernet-заголовок. Модуль TCP отбрасывает IPзаголовок, проверяет контрольную сумму, если все в порядке – включает пакет в восстанавливаемую последовательность данных, если нет – передает модулю IP запрос с требованием повторной передачи пакета. Далее данные передаются Web–клиенту (браузеру), интерпретируются им как HTML-страница и отображаются в его окне.

1.2. Адреса TCP/IP Internet – объединение компьютерных сетей, использующих дляобмена информацией протокол TCP/IP. В стеке TCP/IP различают три вида адресов: аппаратные, IP-адреса и символьные доменные адреса. Аппаратные адреса (MACадреса, формат 6 байт) назначаются сетевым адаптерам производителями оборудования и являются уникальными, так как управляются централизованно.

Аппаратные адреса используются на базовом уровне для доставки данных внутри подсети, являющейся частью составной сети. Поэтому их также называют локальными.

IP-адреса представляют собой основной тип адресов, на основании которых сетевой уровень передает пакеты между сетями. Его преимущество – объединение номера сети и номера узла сети. Важно помнить, что IP-адрес назначается несамому компьютеру, а его сетевой плате (сетевому интерфейсу), которых у одного компьютера может быть несколько. Далее дляпростоты изложения мы небудем проводить различий между адресом компьютера и интерфейса и называть их адресом сетевого узла.

Внутри локальной компьютерной сети IP-адреса назначаются администратором сети достаточно произвольно. Назначение адресов производится на вкладке Сетевое окружение – Свойства – Конфигурация - Протокол TCP/IP – Свойства (см. рисунок, учитывайте, что указаннаяпоследовательность может различаться в разных версиях Windows).

Если же сетевой интерфейс компьютера является частью внешней сети, его IPадрес назначается администратором последней сети или задается автоматиче ски спомощью специальных DHCP-серверов [4]. Уникальность IP-адресов узлов, входящих в Internet, обеспечивается международными организациями.

IP-адрес – это 32-разрядное число, записываемое обычно в точечно-десятичной форме, например, 192.168.18.5. IP-адрес объединяет адрес компьютера и адрес сети. Гарантируется, что каждая сеть (подсеть), если она не изолирована от других сетей, имеет свой уникальный идентификатор. Чтобы определить, какая часть IP-адреса относится кадресу узла, а какаяидентифицирует подсеть, совместно с IP-адресом применяют 32-разрядную маску подсети. Если бит маски равен 1, то соответствующий бит IP-адреса относится кадресу сети, иначе– к адресу узла. Например, если IP-адрес 192.168.18.5, а маска 255.255.255.0, то адрес узла – 0.0.0.5 и адрес подсети - 192.168.18.0 или 11000000 00010010 000000002.





Сеть – это группа компьютеров с одинаковыми старшими битами в IP-адресе.

В повседневной практике числовые IP-адреса неудобны, поэтому конечные пользователи применяют символьные доменные имена, строящиеся по иерархическому принципу. Составляющие полного доменного имени разделяются точкой и перечисляются в следующем порядке (слева направо): сначала имя оконечного узла (компьютера), затем имя группы узлов - домена (например, имя организации), затем имя более крупной группы (домена) и т.д. до имени домена самого высокого уровня которые объединяют организации по геогра, фическому (RU, UK, US, …), тематическому (COM, ORG, NET, GOV) или другому признаку. Например, адрес web-сервера главного корпуса ВГУ – www.main.vsu.ru.

В сетях TCP/IP соответствие между IP-адресом и доменным адресом устанавливает система серверов DNS (Domain Name System) на основе специальных таблиц. На завершающем этапепри доставке сообщения внутри сети на основе IP-адреса определяется аппаратный адрес, но решается это уже на канальном уровне драйверами Ethernet с помощью ARP-таблиц (Address Resolution Protocol, ARP), содержащих искомые соответствия.

1.3. Адресация ресурсов Адрес ресурса в формате URL (Universal Resource Locator) имеет вид протокол://адрес_узла[:порт]/путь/имя_файла_ресурса, где протокол – обозначение одного из протоколов уровня процессов и приложений, используемых дляобращения к ресурсу. Для Web это Http.

адрес_узла – доменное имя или IP-адрес компьютера, подключенного к Internet, порт – номер порта, по которому клиентобращается ксерверу дляустановления TCP-соединения, путь – путь к каталогу, где находится ресурс, определяемый параметром имя_файла_ресурса.

Применительно к серверным приложениям структура URL имеет вид http://адрес_узла[:порт]/путь/имя_приложения/действиезапрос например, http://localhost/scripts/pog1.exe/pname=Bill 1.4. Протокол HTTP HTTP (Hyper Text Transpher Protocol, протокол передачи гипертекста) – высокоуровневый протокол, обеспечивающий работу службы World Wide Web.

Приведем кратко основные элементы протокола [3].

Сеанс взаимодействия с Web-сервером:

• Установление TCP-соединения • Запрос клиента (требование передать ресурс) • Ответ сервера (код ресурса) • Разрыв TCP-соединения Запрос клиента:

• Строка состояния Заголовок запроса • Полязаголовка • Пустаястрока • Тело запроса Строка состояния:

Метод_запроса URL_ресурса Версия протокола_HTTP Метод_запроса определяет способ передачи запроса на ресурс с адресом URL. Допускаются методы GET, POST, HEAD, PUT и др. Чаще применяются методы GET и POST. Оба метода, несмотря на противоположные названия, предназначены как дляпередачи, так и дляполучения информации.

Получив запрос GET (получить), сервер включает ресурс (HTML-файл, графику и пр.) в состав ответа. Если URL включает адрес CGI-программы, то GET, наоборот, используется дляпередачи данных (информационной части запроса) серверу через URL.

Основное назначение метода POST – передача данных на сервер, причем данные передаются нечерез URL, а через тело запроса.

URL_ресурса - см. п. 1.3.

Версия протокола_HTTP имеет формат HTTP/версия.модификация, например HTTP/1.1.

Полязаголовка содержат дополнительную информацию, например, E-mail клиента (см. Приложение). Записываются в виде Имя_поля: Значение, например From: pmmtkiar@main.vsu.ru.

Тело запроса часто отсутствует.

Ответ сервера:

• Строка состояния Заголовок ответа • Полязаголовка • Пустаястрока • Тело ответа Строка состояния:

Версия_протокола Код_Ответа Пояснение Версия протокола записывается так же, как и в запросе. Код ответа - трехзначное число, результат обслуживания запроса. Пояснение дублирует код ответа в символьном виде. Например, если запрос небыл понят сервером, строка состояния будет иметь вид HTTP/1.0 400 Bad Request.

Перваяцифра кода, принимающаязначения 1..5, определяет следующие классы ответов:

• 1 – информационное сообщение, что сервер продолжает обработку запроса • 2 – успешнаяобработка запроса • 3 – временное или постоянное изменение местоположения ресурса, запрос необслужен • 4 – ошибка в запросе • 5 – ошибка сервера Структура полей заголовка такаяже, как в запросе клиента. Указываются имя и номерверсии сервера, время в секундах с момента создания ресурса, список методов, допустимых дляданного ресурса, MIME-тип данных, содержащихся в ответе и др.[3] Спецификация MIME (Multipurpose Internet Mail Extension – многоцелевое почтовое расширение Интернет) первоначально предназначалась для передачи различных форматов данных в составе электронных писем, но используется также и в WWW. Данные обозначаются: тип/подтип. Примеры: text/html, image/gif, image/jpeg, audio/midi, audio/x-wav video/avi, video/mpeg, application/msword и т.п.

1.5. Web-серверы Web-сервер – это программа, функционирующая на компьютере, предоставляющем Internet-ресурсы. Клиент (браузер) и Web-сервер обмениваются по протоколу HTTP. За Web-сервером стандартно закреплен порт с номером 80.

Свои ресурсы сервер хранит в системе каталогов, причем некоторые каталоги (виртуальные) могут быть разнесены в пространстве и находиться на различных логических или сетевых дисках.

Pages:     || 2 | 3 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.