Temps d'inactivitat dels proxys durant treballs HTTP llargs
Trieu sondeig o un format de transmissió definit quan el treball llarg del servidor troba el límit d'inactivitat d'un proxy, en lloc d'inserir bytes arbitraris a la resposta final.
Si un servei roman en silenci durant minuts i un proxy pateix un temps d'espera, trieu què ha de rebre el client abans d'afegir bytes de batec. Allargar un temporitzador pot ajudar una espera; el contracte de resposta determina quin progrés és vàlid.
| Disseny de l'aplicació | Contracte de progrés |
|---|---|
| Tasca asíncrona | 202 Accepted amb una representació que descriu el monitoratge, seguida de sol·licituds d'estat finites i estats explícits de finalització/error |
| Flux Server-Sent Events | Content-Type: text/event-stream i registres que el client SSE entén |
202 no promet que la tasca tingui èxit. Per a SSE, un registre de comentari pot semblar així:
: heartbeat
Els dos punts el converteixen en un comentari en lloc d'un esdeveniment de l'aplicació. Les notes d'autoria d'HTML suggereixen comentaris periòdics aproximadament cada 15 segons contra alguns comportaments antics d'inactivitat de proxys; això és una guia, no una garantia universal de temps d'espera.
Acabeu les capçaleres i assegureu-vos que l'aplicació/pila de servei allibera els registres en lloc d'emmagatzemar-los localment. Els bytes encara no enviats no poden mantenir actiu un intermediari posterior.
No inseriu comentaris SSE en contingut JSON o binari ordinari. Un chunk de longitud zero HTTP/1.1 acaba un cos chunked, així que no és un batec buit repetible.
Conserveu un termini d'operació i una política de cancel·lació. Només l'activitat del trànsit no mostra un progrés útil de la tasca ni un resultat final vàlid.