Лекция 2. Обмен данными между клиентом и сервером — КиберПедия 

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Лекция 2. Обмен данными между клиентом и сервером

2017-07-01 1733
Лекция 2. Обмен данными между клиентом и сервером 0.00 из 5.00 0 оценок
Заказать работу

Лекция 2. Обмен данными между клиентом и сервером

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

Сетевой протокол – набор правил и действий (очерёдности действий), позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть устройствами.

Наиболее распространённой системой классификации сетевых протоколов является так называемая модель OSI, в соответствии с которой протоколы делятся на 7 уровней по своему назначению – от физического (формирование и распознавание электрических или других сигналов) до прикладного (интерфейс программирования приложений для передачи информации приложениями).

Сетевые протоколы предписывают правила работы компьютерам, которые подключены к сети. Они строятся по многоуровневому принципу. Протокол некоторого уровня определяет одно из технических правил связи. В настоящее время для сетевых протоколов используется модель OSI (Open System Interconnection – взаимодействие открытых систем, ВОС).

Модель OSI – это 7-уровневая логическая модель работы сети. Модель OSI реализуется группой протоколов и правил связи, организованных в несколько уровней:

– на физическом уровне определяются физические (механические, электрические, оптические) характеристики линий связи;

– на канальном уровне определяются правила использования физического уровня узлами сети (Физическая адресация);

– сетевой уровень отвечает за адресацию и доставку сообщений (Определение маршрута и логическая адресация);

– транспортный уровень контролирует очередность прохождения компонентов сообщения (Прямая связь между конечными пунктами и надежность);

– задача сеансового уровня — координация связи между двумя прикладными программами, работающими на разных рабочих станциях (Управление сеансом связи);

– уровень представления служит для преобразования данных из внутреннего формата компьютера в формат передачи (Представление и шифрование данных);

– прикладной уровень является пограничным между прикладной программой и другими уровнями — обеспечивает удобный интерфейс связи сетевых программ пользователя (Доступ к сетевым службам).

Другая модель – стек протоколов TCP/IP – содержит 4 уровня:

– канальный уровень (link layer), (Уровень доступа к сети)

– сетевой уровень (Internet layer), (Интернет-уровень)

– транспортный уровень (transport layer), (Транспортный протокол хост-хост)

– прикладной уровень (application layer). (Уровень приложений)

Методы (POST, GET) передачи информации.

Метод GET.

Метод GET удобен тем, что прост в эксплуатации. Но у него есть недостатки. Во-первых, методом GET нельзя передавать большие объемы информации, потому что данные, передаваемые этим методом входят в состав URL, длина которого ограничена.

Пример: ссылка http://dayte2.com/?u=shaman&act=state&num=9 содержит данные, передаваемые методом GET. Эти данные идут после знака вопроса.

Так как данные, передаваемые методом GET входят в соства URL документа, их может подсмотреть любой желающий. У этого есть преимущества и недостатки. Преимущество состоит в том, что можно послать ссылку вместе с данными другу. Недостаток в том, что в строке браузера отображается и ваш, только что введенный пароль. Это одна из причин, почему данные, представляющие ценность, всегда нужно передавать методом POST.

Метод POST.

Как и метод GET, метод POST служит для передачи данных на сервер. Однако, данные, переданные таким образом, идут не в URL документа, а в теле запроса, после заголовков. Эти данные могут быть восприняты CGI-программой.

Когда данные отправляются методом POST, серверу приходит что-то вроде:

POST lines.pl HTTP/1.1

Accept: */*

Referer: http://dayte2.com/shaman.shtml

Accept-Language: ru

Content-Type: application/x-www-form-urlencoded

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

Host: dayte2.com

Content-Length: 106

Connection: Keep-Alive

Cache-Control: no-cache

*Тут post данные*

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

Плюсы метода POST очевидны: можно передавать неограниченные объемы информации, причем, никто не увидит эту информацию после того, как вы ее отправили (имеется ввиду, в строке браузера).

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

HEAD

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

PUT и PATCH

Как и POST, метод PUT тоже служит для передачи на сервер каких-то данных, но является, так сказать, менее продвинутым. В основном, применяется для обновления информации, когда не нужно закачивать и обрабатывать большие объемы данных. Иногда используется PATCH, метод с ещё более урезанными возможностями, работающий только с частью ресурса.

Форматы передачи данных

Двоичный (бинарный) файл – в широком смысле: последовательность произвольных байтов.

С физической точки зрения документ состоит из сущностей, из которых каждая может отсылать на другую сущность. Единственный корневой элемент – документная сущность. Содержание сущностей – символы.

Пользовательский формат

OK — успешный запрос

Unauthorized – для доступа к запрашиваемому ресурсу требуется аутентификация. В заголовке ответ должен содержать поле WWW-Authenticate с перечнем условий аутентификации. Клиент может повторить запрос, включив в заголовок сообщения поле Authorization с требуемыми для аутентификации данными.

Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера. Для всех ситуаций, кроме использования метода HEAD, сервер должен включать в тело сообщения объяснение, которое клиент отобразит пользователю.

Лекция 2. Обмен данными между клиентом и сервером

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


Поделиться с друзьями:

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

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

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.014 с.