Асинхронна http модель

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Асинхронна http модель — підхід, який дозволяє імітувати асинхронну роботу http протоколу.

Проблема

[ред. | ред. код]

Необхідно дати відповідь на результат роботи довготривалого процесу при цьому не блокуючи запит клієнта.

Вирішення

[ред. | ред. код]

Перевіряти стан процесу багатьма синхронними запитати допоки він не буде виконаний.

  1. Надсилаємо початковий синхронний http запит, який запускає довготривалий процес. API у відповідь надсилає статусний код 202 (Accepted) чи 400 (Bad Request) в залежності від результату. У відповіді також міститься посилання на адресу, за якою знаходиться статус операції.
  2. Адреса статусу повертає ті самі метадані допоки робота процесу не завершиться. Також сервер може надати інформацію про те як часто потрібно перевіряти статут, аби запобігти надлишковим запитам. Якщо довготривалий процес закінчився клієнт перенаправляється на адресу із результатом.
  3. Клієнт надсилає запит на отримання результату.
Діаграма, що демонструє процес асинхронної http моделі

Посилання

[ред. | ред. код]