Isticanje vremena mirovanja proxyja tokom dugih HTTP poslova
Izaberite anketiranje ili definisani format strujanja kada dugi rad servera naiđe na ograničenje mirovanja proxyja, umesto umetanja proizvoljnih bajtova u konačni odgovor.
Ako usluga ostane nema minutama, a proxyju istekne vreme, izaberite šta klijent treba da primi pre dodavanja bajtova otkucaja. Produženje tajmera može pomoći jednom čekanju; ugovor odgovora određuje koji je napredak valjan.
| Dizajn aplikacije | Ugovor o napretku |
|---|---|
| Asinhroni posao | 202 Accepted sa prikazom koji opisuje nadzor, zatim konačni zahtevi statusa i izričita stanja završetka/neuspeha |
| Tok Server-Sent Events | Content-Type: text/event-stream i zapisi koje SSE klijent razume |
202 ne obećava da će posao uspeti. Za SSE zapis komentara može izgledati ovako:
: heartbeat
Dvotačka ga čini komentarom, a ne događajem aplikacije. HTML beleške za pisanje predlažu periodične komentare otprilike svakih 15 sekundi protiv nekog starog ponašanja mirovanja proxyja; to je smernica, a ne univerzalno jamstvo isteka.
Završite zaglavlja i osigurajte da aplikacija/sloj posluživanja oslobađa zapise umesto da ih lokalno baferiše. Bajtovi koji još nisu poslati ne mogu održavati nizvodnog posrednika aktivnim.
Ne umećite SSE komentare u obični JSON ili binarni sadržaj. HTTP/1.1 chunk nulte dužine završava chunked telo, pa to nije ponovljiv prazan otkucaj.
Zadržite rok operacije i politiku otkazivanja. Sama prometna aktivnost ne pokazuje koristan napredak posla ni valjan konačni rezultat.