Заметки из Зазеркалья

06.10.2021

Расширение поддержки работы с НТТР-запросами

Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.

Реализовано в версии 8.3.21.1302

В версии 8.3.21 будет добавлена возможность асинхронной отправки HTTP-запросов во всех типах клиентов (веб, тонкий, толстый, мобильный). Также в веб-клиенте будет реализована поддержка работы с HTTP-запросами в том объёме, в котором это позволяют сделать современные браузеры.

Поддержка асинхронной отправки HTTP-запросов

Для асинхронной работы с HTTP-запросами в тип HTTPСоединение будут добавлены методы:

  • ВызватьHTTPМетодАсинх

  • ЗаписатьАсинх

  • ИзменитьАсинх

  • ОтправитьДляОбработкиАсинх

  • ПолучитьАсинх

  • ПолучитьЗаголовкиАсинх

  • УдалитьАсинх

Поддержка работы с HTTP-запросами в веб-клиенте

В веб-клиенте будут поддержаны типы HTTPСоединение, HTTPЗапрос, HTTPОтвет и ЗащищенноеСоединениеOpenSSL.

В связи с ограничениями, накладываемыми браузерами, перечисленные типы в веб-клиенте будут поддержаны не в полном объеме. Так, например, все синхронные методы работы с HTTP-запросами будут вызывать исключение «Метод недоступен в веб-клиенте». Все различия в поведении будут, как обычно, подробно описаны в документации.

Зачем мы это сделали

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

  • Помещение больших файлов с клиента на сервер.

  • Скачивание клиентом больших файлов.

  • Взаимодействие из веб-клиента с драйверами торгового оборудования (например, с фискальными регистраторами), работающими по протоколу HTTP. Сервер в этом случае «не видит» это оборудование, т.к. оно расположено на клиентском компьютере.

  • Сценарии, когда политиками безопасности закрыт доступ с сервера к внешним ресурсам.

  • Взаимодействие с внешним API (например, с сервером IP-телефонии) в случаях, когда обращение нужно делать на стороне клиента с контекстом клиента.

  • Работа с сервисами,  которые требуют аутентификации ОС с учетной записью клиента (например, с сервисами электронной подписи).

Теги: 8.3.21  веб-клиент