API Communication (коммуникация) — краткий справочник

API Communication (коммуникация) — краткий справочник.

В HTML5 входят три разных API, обслуживающие различные коммуникационные задачи. XMLhttpRequest уровня 2 — это улучшенная версия давно знакомого вам объекта XMLhttpRequest для приложений Ajax. API Web Messaging (Веб-сообщения) обеспечивает возможность обмена сообщениями между окнами, вкладками, фреймами и даже другими API. API WebSocket (Веб-сокеты) предоставляет новые альтернативные способы установления быстрых и эффективных соединений между сервером и клиентом.

XMLhttpRequest уровня 2

Этот API включает в себя конструктор для объектов XMLhttpRequest

И несколько методов, свойств и событий, помогающих обрабатывать соединение:

- XMLhttpRequest(). Этот конструктор возвращает объект XMLhttp-Request, необходимый для открытия и обработки соединения с сервером;

- open(method, url, async). Этот метод открывает соединение между приложением и сервером. Атрибут method определяет http-метод, с использованием которого будет пересылаться информация (например, GET, POST). Атрибут url содержит путь к сценарию, который должен получить информацию. Атрибут async — это булево (логическое) значение, определяющее тип соединения: синхронное или асинхронное (значение true соответствует асинхронному типу);

- send(data). Этот метод отправляет значение атрибута data на сервер. В атрибут можно поместить объект ArrayBuffer, бинарный блок, документ, строку или объект FormData;

- abort(). Этот метод отменяет запрос;

- timeout. Это свойство устанавливает максимальное время обработки запроса (в миллисекундах);

- readyState. Это свойство возвращает значение, представляющее статус соединения: 0 означает, что объект создан, 1 — соединение открыто, 2 — получен заголовок ответа, 3 — получен ответ, 4 — пересылка данных завершена;

- responseType. Это свойство возвращает тип ответа. Также его можно использовать для изменения типа ответа. Допустимые значения arraybuffer, blob, document и text;

- response. Это свойство возвращает ответ на запрос в формате, объявленном в свойстве responseType;

- responseText. Это свойство возвращает ответ на запрос в текстовом формате;

- responseXML. Это свойство возвращает ответ на запрос в форме XML-документа;

- loadstart. Это событие срабатывает в начале запроса;

- progress. Это событие срабатывает периодически во время обработки запроса;

- abort. Это событие срабатывает, если запрос прерывается;

- error. Это событие срабатывает, когда происходит ошибка;

- load. Это событие срабатывает при успешном завершении запроса;

- timeout. Это событие срабатывает, когда истекает указанное с помощью свойства timeout время, выделенное на обработку запроса;

- loadend. Это событие срабатывает по завершении запроса (как в случае успеха, так и в случае ошибки).

Также добавлен специальный атрибут, позволяющий для отправки данных на сервер создавать объект XMLhttpRequestUpload вместо обычного объекта XMLhttpRequest:

- upload. Возвращает объект XMLhttpRequestUpload. Объект использует те же методы, свойства и события, что и объект XMLhttpRequest, но работает только в процессе загрузки данных на сервер.

В состав API также входит интерфейс для создания объектов FormData, представляющих собой HTML-формы:

- FormData(). Этот конструктор возвращает объект FormData, представляющий HTML-форму;

- append(name, value). Этот метод добавляет данные в объект FormData. Каждый фрагмент данных, добавляемый в объект, представляет собой поле формы, имя и значение которого объявляются в атрибутах. В качестве атрибута value можно передавать как строку, так и бинарный блок.

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

- lengthComputable. Возвращает булево значение, позволяющее определить, допустимы ли значения остальных свойств;

- loaded. Возвращает общий размер уже загруженных с сервера или на сервер данных (в байтах);

- total. Возвращает общий размер данных, которые должны быть загружены с сервера или на сервер (в байтах).

API Web Messaging (Веб-сообщения)

Этот API включает в себя только один интерфейс, предоставляющий несколько методов, свойств и событий для обмена данными с приложениями в других окнах, вкладках, фреймах и даже других API:

- postMessage(message, target). Этот метод отправляет сообщение через определенное свойство contentWindow в документ, объявленный в качестве цели пересылки в атрибуте target. Атрибут message содержит пересылаемое сообщение;

- message. Это событие срабатывает при получении сообщения;

- data. Это свойство события message возвращает содержимое полученного сообщения;

- origin. Это свойство события message возвращает источник документа, отправившего сообщение;

- source. Это свойство события message возвращает ссылку на свойство contentWindow, из которого было отправлено сообщение.

API WebSocket (Веб-сокеты)

Этот API включает в себя конструктор, который возвращает объект

WebSocket и открывает соединение. Кроме того, он предоставляет несколько методов, свойств и событий для контролирования процесса обмена данными между клиентом и сервером:

- WebSocket(url). Этот конструктор возвращает объект WebSocket и открывает соединение с сервером. В атрибуте url объявляются путь к сценарию, в котором выполняется WS-сервер, а также порт для обмена данными. В качестве второго атрибута можно передать массив подпротоколов;

- send(data). Этот метод отправляет сообщение WS-серверу. В атрибуте data должна содержаться строка с информацией, которую необходимо передать на сервер;

- close(). Этот метод закрывает соединение с WS-сервером;

- url. Это свойство возвращает URL-адрес, который в приложении используется для подключения к серверу;

- protocol. Это свойство возвращает подпротокол, используемый для обработки соединения, если он был указан;

- readyState. Это свойство возвращает значение, представляющее собой состояние соединения: 0 означает, что соединение еще не установлено, 1 — соединение открыто, 2 — соединение закрывается, 3 — соединение закрыто;

- bufferedAmount. Это свойство возвращает общий объем данных, ожидающих отправки на сервер;

- open. Это событие срабатывает, когда соединение открывается;

- message. Это событие срабатывает, когда сервер отправляет приложению сообщение;

- error. Это событие срабатывает в случае ошибки;

- close. Это событие срабатывает при закрытии соединения.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *