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íncrona202 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 EventsContent-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.

Articles relacionats