Uzun HTTP işləri zamanı proxy-nin boş durma fasilələri
Uzun server işi proxy-nin boş durma həddinə çatdıqda, son cavaba təsadüfi baytlar əlavə etmək əvəzinə sorğulama və ya müəyyən edilmiş axın formatı seçin.
Əgər xidmət dəqiqələrlə səssiz qalırsa və proxy fasiləyə düşürsə, heartbeat baytları əlavə etməzdən əvvəl müştərinin nə alacağını seçin. Taymeri uzatmaq bir gözləməyə kömək edə bilər; cavab müqaviləsi hansı irəliləyişin etibarlı olduğunu müəyyən edir.
| Tətbiq dizaynı | İrəliləyiş müqaviləsi |
|---|---|
| Asinxron iş | Monitorinqi təsvir edən təqdimatla 202 Accepted, ardınca məhdud status sorğuları və açıq tamamlanma/uğursuzluq vəziyyətləri |
| Server-Sent Events axını | Content-Type: text/event-stream və SSE müştərisinin başa düşdüyü qeydlər |
202 işin uğur qazanacağına zəmanət vermir. SSE üçün şərh qeydi belə görünə bilər:
: heartbeat
İki nöqtə onu tətbiq hadisəsi deyil, şərh edir. HTML-in müəllif qeydləri bəzi köhnə proxy boş durma davranışına qarşı təxminən hər 15 saniyədə dövri şərhlər təklif edir; bu tövsiyədir, universal fasilə zəmanəti deyil.
Başlıqları tamamlayın və tətbiq/xidmət yığınının qeydləri yerli olaraq buferləmək əvəzinə buraxdığına əmin olun. Hələ göndərilməmiş baytlar aşağı axındakı vasitəçini aktiv saxlaya bilməz.
SSE şərhlərini adi JSON və ya ikili məzmuna daxil etməyin. HTTP/1.1-in sıfır uzunluqlu chunk-ı chunked gövdəni bitirir, yəni təkrarlana bilən boş heartbeat deyil.
Əməliyyat üçün son tarix və ləğvetmə siyasəti saxlayın. Yalnız trafik aktivliyi faydalı iş irəliləyişini və ya etibarlı yekun nəticəni göstərmir.