Файл: Возможности и назначение программы «Клиент- Сервер».pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.03.2023

Просмотров: 97

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

– апробация созданной программы. Результаты первой задачи описаны выше. В качестве языка программирования для написания программы был определён язык Delphi. Пакет программы в своём составе содержит три папки:

1) Klient (people) – устанавливается на ПК клиентов (сотрудников, обучаемых);

2) Klien (teacher) – устанавливается на ПК сервера (управляющего, преподавателя);

3) Server –управляющая папка, устанавливается на все компьютеры, как клиентов, так и сервер.

Апробация программы была проведена на базах учебных заведений МОУ лицея №83 города Тюмени, Тобольского индустриального института и показала хорошие результаты, которые определяются: – презентабельностью, мобильностью, динамичностью проводимых занятий и как следствие повышением эффективности качества обучения; – коммуникационными возможностями, заключающимися в управлении, технической поддержке, контроле ПК удалённых компьютеров, что положительно, отражается на плодотворной деятельности клиентов (сотрудников, обучаемых).

В перспективе программа может дорабатываться с учётом получаемых отзывов, возможных необходимостей, а также наших идей, среди которых можно отметить следующие: – добавление функции обмена сообщениями (чата), что облегчит общение на расстоянии; – функция передачи файлов, с компьютера на компьютер и другие

1.3 Web-серверы и HTTP

Веб-браузеры взаимодействуют с веб-серверами при помощи протокола передачи гипертекста (HTTP). Когда вы кликаете на ссылку на странице, заполняете форму или запускаете поиск, браузер отправляет на сервер HTTP-запрос.

Этот запрос включает:

Путь, определяющий целевой сервер и ресурс (например, файл, определенная точка данных на сервере, запускаемый сервис, и т.д.).

Метод, который определяет необходимое действие (например, получить файл, сохранить или обновить некоторые данные, и т.д.). Различные методы/команды и связанные с ними действия перечислены ниже:

GET – получить определенный ресурс (например, HTML-файл, содержащий информацию о товаре или список товаров).

POST – создать новый ресурс (например, новую статью на Википедии, добавить новый контакт в базу данных).

HEAD – получить метаданные об определенном ресурсе без получения содержания, как делает GET. Вы, например, можете использовать запрос HEAD, чтобы узнать, когда в последний раз ресурс обновлялся и только потом использовать (более «затратный») запрос GET, чтобы загрузить ресурс, который был изменен.


PUT – обновить существующий ресурс (или создать новый, если таковой не существует).

DELETE – удалить указанный ресурс.

TRACE, OPTIONS, CONNECT, PATCH – эти команды используются для менее популярных/продвинутых задач, поэтому мы их не будем рассматривать.

Дополнительная информация может быть зашифрована в запросе (например, данные формы). Информация может быть зашифрована как:

Параметры URL: запросы зашифровывают данные в , отправляемую на сервер, добавляя пары имя/значение в его конец, например, http://mysite.com?name=Fred&age=11. У вас всегда есть знак вопроса (?), отделяющий прочую часть от параметров , знак равно (=), отделяющий каждое имя от соответствующего ему значения, и амперсанд (&), разделяющий пары. Параметры по своей сути «небезопасны», так как они могут быть изменены пользователями и затем отправлены заново. В результате параметры /запросы не используются для запросов, которые обновляют данные на сервере.

POST данные. POST запросы добавляют новые ресурсы, данные которых зашифрованы в теле запроса.

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

Веб-серверы ожидают сообщений с запросами от клиентов, обрабатывают их, когда они приходят и отвечают веб-браузеру через сообщение с HTTP-ответом. Ответ содержит Код статуса HTTP-ответа, который показывает, был ли запрос успешным (например, «200 OK» означает успех, «404 Not Found» если ресурс не может быть найден, «403 Forbidden», если пользователь не имеет права просматривать ресурс, и т.д.). Тело успешного ответа на запрос GET будет содержать запрашиваемый ресурс.

После того, как HTML страница была возвращена, она обрабатывается браузером. Далее браузер может исследовать ссылки на другие ресурсы (например, HTML страница обычно использует JavaScript и CSS файлы), и послать отдельный HTTP запрос на загрузку этих файлов.

Как статические, так и динамические веб-сайты (обсуждаемые в следующих разделах) используют точно такой же протокол / шаблоны связи.

ГЛАВА 2. СУТЬ ТЕХНОЛОГИИ КЛИЕНТ-СЕРВЕР

2.1 Основные сетевые протоколы

Сетевой протокол это набор соглашений, правил, которые определяют обмен данными в сети. Мы не собираемся реализовывать эти протоколы на низком уровне. Мы намерены использовать готовые аппаратные и программные модули, которые реализуют сетевые протоколы. Поэтому нет необходимости подробно разбирать форматы заголовков, данных и т.п. Но, зачем нужен каждый протокол, чем он отличается от других, когда используется знать надо.


 Протокол IP.

Inernet Protocol (межсетевой протокол) доставляет пакеты данных от одного сетевого устройства к другому. IP протокол объединяет локальные сети в единую глобальную сеть, обеспечивая передачу пакетов информации между любыми устройствами сетей. Из представленных в этом уроке протоколов IP находится на самом низком уровне. Все остальные протоколы используют его.

IP протокол работает без установления соединений. Он просто пытается доставить пакет по указанному IP-адресу.

IP обрабатывает каждый пакет данных, как отдельную независимую единицу, не связанную с другими пакетами. Невозможно используя только IP протокол,  передать значительный объем связанных данных. Например, в сетях Ethernet максимальный объем данных одного IP-пакета составляет всего 1500 байт.

В протоколе IP нет механизмов, позволяющих контролировать достоверность конечных данных. Контрольные коды используются только для защиты целостности данных заголовка. Т.е. IP не гарантирует, что данные в полученном пакете будут правильными.

Если во время доставки пакета произошла ошибка, и пакет был потерян, то IP не пытается заново послать пакет. Т.е. IP не гарантирует, что пакет будет доставлен.

Коротко о протоколе IP можно сказать, что:

это протокол без установления соединений;

он доставляет небольшие (не более 1500 байт) отдельные пакеты данных между IP-адресами;

он не гарантирует, что доставленные данные будут правильными;

он не гарантирует, что данные вообще будут доставлены;

он не сообщит отправителю, были ли доставлены данные и не повторит передачу пакета;

нет упорядоченности пакетов, порядок доставки сообщений не определен.

 Протокол TCP.

Transmission Control Protocol (протокол управления передачей) основной протокол передачи данных Интернета. Он использует способность IP протокола доставлять информацию от одного узла другому. Но в отличии от IP он:

Позволяет переносить большие объемы информации. Разделение данных на пакеты и “склеивание” данных на приемной стороне обеспечивает TCP.

Данные передаются с предварительной установкой соединения.

Производит контроль целостности данных.

В случае потери данных инициирует повторные запросы потерянных пакетов, устраняет дублирование при получении копий одного пакета.

По сути, протокол TCP снимает все проблемы доставки данных. Если есть возможность, он их доставит. Не случайно это основной протокол передачи данных в сетях.  Часто используют терминологию TCP/IP сети.

 Протокол UDP.


User Datagram Protokol (протокол пользовательских датаграмм) простой протокол для передачи данных без установления соединения. Данные отправляются в одном направлении без проверки готовности приемника и без подтверждения доставки. Объем данных пакета может достигать 64 кБайт, но на практике многие сети поддерживают размер данных только 1500 байт.

Главное достоинство этого протокола – простата и высокая скорость передачи. Часто применяется в приложениях критичных к скорости доставки данных, таких как видеопотоки. В подобных задачах предпочтительнее потерять несколько пакетов, чем ждать отставшие.

Протоколу UDP свойственно:

это протокол без установления соединений;

он доставляет небольшие отдельные пакеты данных между IP-адресами;

он не гарантирует, что данные вообще будут доставлены;

он не сообщит отправителю, были ли доставлены данные и не повторит передачу пакета;

нет упорядоченности пакетов, порядок доставки сообщений не определен.

 Протокол HTTP.

Скорее всего, об этом протоколе в следующих уроках буду писать подробнее. А сейчас коротко скажу, что это протокол передачи гипертекста (Hyper Text Transfer Protocol). Он используется для получения информации с веб-сайтов. При этом веб-браузер выступает в роли клиента, а сетевое устройство в качестве веб-сервера.

2.2 Архитектура клиент-сервер

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

Web-серверы

Изначально представляли доступ к гипертекстовым документам по протоколу HTTP (Huper Text Transfer Protocol). Сейчас поддерживают расширенные возможности, в частности работу с бинарными файлами (изображения, мультимедиа и т.п.).

Серверы приложений

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

Серверы баз данных

Серверы баз данных используются для обработки пользовательских запросов на языке SQL. При этом СУБД находится на сервере, к которому и подключаются клиентские приложения.

Файл-серверы

Файл-сервер хранит информацию в виде файлов и представляет пользователям доступ к ней. Как правило файл-сервер обеспечивает и определенный уровень защиты от несакционированного доступа.


Прокси-сервер

Во-первых, действует как посредник, помогая пользователям получить информацию из Интернета и при этом обеспечивая защиту сети.

Во-вторых, сохраняет часто запрашиваемую информацию в кэш-памяти на локальном диске, быстро доставляя ее пользователям без повторного обращения к Интернету.

Файрволы (брандмауэры)

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

Почтовые серверы

Представляют услуги по отправке и получению электронных почтовых сообщений.

Серверы удаленного доступа (RAS)

Эти системы обеспечивают связь с сетью по коммутируемым линиям. Удаленный сотрудник может использовать ресурсы корпоративной ЛВС, подключившись к ней с помощью обычного модема.

Это лишь несколько типов из всего многообразия клиент-серверных технологий, используемых как в локальных, так и в глобальных сетях. [2]

Для доступа к тем или иным сетевам сервисам используются клиенты, возможности которых характеризуются понятием «толщины». Оно определяет конфигурацию оборудования и программное обеспечение, имеющиеся у клиента. Рассмотрим возможные граничные значения:

«Тонкий» клиент

Этот термин определяет клиента, вычислительных ресурсов которого достаточно лишь для запуска необходимого сетевого приложения через web-интерфейс. Пользовательский интерфейс такого приложения формируется средствами статического HTML (выполнение JavaScript не предусматривается), вся прикладная логика выполняется на сервере. 
Для работы тонкого клиента достаточно лишь обеспечить возможность запуска web-браузера, в окне которого и осуществляются все действия. По этой причине web-браузер часто называют "универсальным клиентом".[7]

«Толстый» клиент

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

В последнее время все чаще используется еще один термин: «rich»-client. «Rich«-клиент своего рода компромисс между «толстым» и «тонким» клиентом. Как и «тонкий» клиент, «rich»-клиент также представляет графический интерфейс, описываемый уже средствами XML и включающий некоторую функциональность толстых клиентов (например интерфейс drag-and-drop, вкладки, множественные окна, выпадающие меню и т.п.)