Истекување на времето на мирување на прокси при долги HTTP задачи
Изберете анкетирање или дефиниран формат на пренос кога долгата работа на серверот ќе го достигне ограничувањето за мирување на прокси, наместо да вметнувате произволни бајти во конечниот одговор.
Ако услугата остане тивка со минути и проксито истече, изберете што треба да прими клиентот пред да додадете бајти за отчукување. Продолжувањето на тајмерот може да помогне на едно чекање; договорот за одговор одредува кој напредок е валиден.
| Дизајн на апликацијата | Договор за напредок |
|---|---|
| Асинхрона задача | 202 Accepted со претстава што го опишува следењето, потоа конечни барања за статус и експлицитни состојби на завршување/неуспех |
| Тек на Server-Sent Events | Content-Type: text/event-stream и записи што ги разбира SSE клиентот |
202 не ветува дека задачата ќе успее. За SSE, записот за коментар може да изгледа вака:
: heartbeat
Две точки го прават коментар, а не настан на апликацијата. Белешките за авторство на HTML предлагаат периодични коментари приближно на секои 15 секунди против некое старо однесување на мирување на прокси; тоа е упатство, не универзална гаранција за истекување.
Завршете ги заглавијата и осигурајте дека апликацијата/стекот за послужување ги ослободува записите наместо да ги баферира локално. Бајтите што сè уште не се испратени не можат да го одржат активен долниот посредник.
Не вметнувајте SSE коментари во обичен JSON или бинарен содржај. HTTP/1.1 парче со нулта должина завршува chunked тело, па тоа не е повторливо празно отчукување.
Задржете краен рок за работа и политика за откажување. Само сообраќајната активност не покажува корисен напредок на задачата или валиден конечен резултат.