Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Веб программирование.Начало.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
6.96 Mб
Скачать
      1. Ответ сервера

Если сервер получил и обработал запрос клиента с информацией, он отправляет клиенту (браузеру) ответ (response) в виде:

HTTP/1.1 200 OK

Date: Sun, 14 Mar 2010 21:36:39 GMT

Server: Apache/2

Last-Modified: Sat, 28 Nov 2009 03:59:01 GMT

ETag: "1387e3-5f88-479666db44b40"

Accept-Ranges: bytes

Content-Length: 24456

Vary: Accept-Encoding, User-Agent

Connection: close

Content-Type: text/html; charset=utf-8

<html lang="en-US" xml:lang = "en-US"> <nlns="http://www.w3.org/1999/xhtml">

<head>

<script>

HTTP-ответ состоит из двух частей. Сначала идет заголовок ответа (response header). Затем – пустая строка и далее – сама запрошенная информация. Эта, вторая, часть называется телом (body). Значения частей заголовка:

HTTP/1.1 – первая строка сообщает клиенту, что информация будет отправлена по протоколу HTTP версии 1.1. Код 200 состояния HTTP означает: "все хорошо, документ найден и сейчас будет отправлен".

Date – сообщает клиенту дату, установленную на сервере, с которого поступает информация.

Server – тип сервера, предоставляющего информацию.

Connection – сообщает клиенту, что соединение будет закрыто после того, как сервер завершит отправку информации.

Content-Type – сообщает клиенту, какой тип содержимого будет отправлен. В дополнение также указывается набор символов.

При выполнении HTTP-методов GET или POST, в первой строке ответа возвращается трехзначный код состояния, например: НТТР/1.1 200 ОК. Существуют несколько типов кодов ответа:

200 – 299: корректный запрос клиента.

300 – 399: запрос перенаправлен по другому адресу.

400–409: ошибка клиентского запроса, например: 401: неавторизованный – клиенту не хватает корректной авторизации для получения документа; 404: не найден.

500 – 509: ошибка на стороне сервера.

    1. Развитие прикладных протоколов: rpc, rest, soap

Развитие Интернет определяет необходимость создания новых прикладных протоколов, не обязательно основанных на TCP и UDP.

В первую очередь эти протоколы нужны для реализации поддержки веб-сервисов и интерфейсов обмена данными между различными приложениями. Веб-сервисы могут быть написаны на разных языках и распределены на разных узлах сети. Наибольшее распространение получили следующие протоколы реализации веб-сервисов: XML-RPC (XML Remote Procedure Call), REST (Representational State Transfer), Access Protocol (SOAP/WSDL/UDDI). Рассмотрим подробнее эти протоколы.

XML-RPC ( ) – это прародитель «веб-сервисов» и «Аpi». Он основан на удаленном вызове процедур. Преимуществом протокола является его простота, краткость сообщений, минимальная проверка формата данных. Минус – недостаточная строгость, требуется отдельное описание сервиса.

REST (Representational State Transfer) – спецификация, построенная на стандартах HTTP, URL, XML и RDF (Resource Description Format). Это не протокол, а технология, основанная на использовании известного набора операций: GET, PUT, POST и DELETE. Этих четырех операций достаточно для манипуляций с сетевыми ресурсами. Они позволяют отделить размещение ресурсов на сервере от восприятия этой информации клиентом и потоковую передачу информации. Горизонтальный подход REST к протоколам означает сохранение существующего уровня HTTP, без выстраивания уровней поверх него.

В соответствии с базовыми принципами REST надо обращаться к объекту а не вызывать процедуру и передавать ей объект, как в RPC. В протоколе HTTP уже есть ряд методов работы с объектами. При этом, если XML-RPC использует из HTTP-протокола только транспортную часть для передачи XML-запроса/ответа, то REST задействует HTTP полностью: авторизационные заголовки, предпочтения по формату, языку, кодировке, по виду ответа. Само тело сообщения может передаваться в разных форматах: XML либо JSON. Близость к HTTP упрощает и ускоряет его обработку веб-серверами. REST остается HTTP-запросом и может оказаться более производительным по сравнению с SOAP, который, в свою очередь, более надежен и безопасен.

SOAP (Simple Object Access Protocol) был разработан в 1998 г. в проекте Microsoft как протокол доступа к объектам. SOAP применим в сложных архитектурах, SOAP используется поверх HTTP или другого протокола прикладного уровня. Сообщения SOAP имеют следующий вид:

SOAP-конверт

SOAP-заголовок

Элемент заголовка 1

...

Элемент заголовка N

Тело SOAP

Элемент тела N

Элемент тела 1

SOAP опирается на XML для формата сообщения, и на протоколы HTTP и SMTP для передачи. Протокол SOAP состоит из трех частей: конверта, который определяет состав сообщений и способ его обработки; набора правил кодирования; конвенции для представления вызовов процедур и ответов. SOAP-сообщение отправляется на сайт, который имеет включенные веб-сервисы, например курсы валют. Обратно будет возвращен XML-документ с полученными данными. SOAP может быть интегрирован непосредственно в сторонние веб-сайты или приложения.

SOAP-архитектура состоит из нескольких слоев: формат сообщения, модель обработки сообщений, протокол расширения.

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