Kung ang isang serbisyo ay tahimik nang ilang minuto at nag-timeout ang proxy, piliin kung ano ang dapat matanggap ng kliyente bago magdagdag ng heartbeat byte. Ang pagpapahaba ng timer ay makakatulong sa isang paghihintay; ang kontrata ng tugon ang nagtatakda kung aling pag-unlad ang wasto.

Disenyo ng aplikasyonKontrata ng pag-unlad
Asynchronous na trabaho202 Accepted na may representasyon na naglalarawan ng pagmamanman, na sinusundan ng may hangganang kahilingan sa status at malinaw na estado ng pagkumpleto/pagkabigo
Server-Sent Events streamContent-Type: text/event-stream at mga talaan na nauunawaan ng SSE client

Hindi nangangako ang 202 na magtatagumpay ang trabaho. Para sa SSE, ang talaan ng komento ay maaaring ganito ang hitsura:

: heartbeat

Ginagawa ito ng tutuldok na komento sa halip na kaganapan ng aplikasyon. Ang mga tala sa paggawa ng HTML ay nagmumungkahi ng pana-panahong komento humigit-kumulang bawat 15 segundo laban sa ilang lumang pag-uugali ng idle ng proxy; iyon ay gabay, hindi isang pangkalahatang garantiya ng timeout.

Tapusin ang mga header at tiyakin na ang aplikasyon/stack ng paghahatid ay naglalabas ng mga talaan sa halip na i-buffer ang mga ito nang lokal. Ang mga byte na hindi pa naipapadala ay hindi makapagpapanatili ng aktibong downstream intermediary.

Huwag magsingit ng SSE komento sa ordinaryong JSON o binary na nilalaman. Ang zero-length chunk ng HTTP/1.1 ay nagtatapos sa chunked body, kaya hindi ito isang na-uulit na walang laman na heartbeat.

Panatilihin ang deadline ng operasyon at patakaran sa pagkansela. Ang aktibidad ng trapiko lamang ay hindi nagpapakita ng kapaki-pakinabang na pag-unlad ng trabaho o wastong huling resulta.

Kaugnay na mga artikulo