Isticanje vremena čekanja proxyja tokom dugih HTTP poslova
Odaberite anketiranje ili definirani format strujanja kada dugi rad poslužitelja naiđe na ograničenje mirovanja proxyja, umjesto umetanja proizvoljnih bajtova u konačni odgovor.
Ako usluga ostane nijema minutama, a proxyju istekne vrijeme, odaberite šta klijent treba primiti prije 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 s prikazom koji opisuje nadzor, zatim konačni zahtjevi statusa i izričita stanja završetka/neuspjeha |
| Tok Server-Sent Events | Content-Type: text/event-stream i zapisi koje SSE klijent razumije |
202 ne obećava da će posao uspjeti. Za SSE zapis komentara može izgledati ovako:
: heartbeat
Dvotačka ga čini komentarom, a ne događajem aplikacije. HTML bilješke za pisanje predlažu periodične komentare otprilike svakih 15 sekundi protiv nekog starog ponašanja mirovanja proxyja; to je smjernica, a ne univerzalno jamstvo isteka.
Završite zaglavlja i osigurajte da aplikacija/sloj posluživanja oslobađa zapise umjesto da ih lokalno baferira. Bajtovi koji još nisu poslani 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 duljine završava chunked tijelo, 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.