หากบริการเงียบไปหลายนาทีและพร็อกซีหมดเวลา ให้เลือกว่าลูกค้าควรได้รับอะไรก่อนเพิ่มไบต์หัวใจเต้น การขยายตัวจับเวลาอาจช่วยการรอครั้งหนึ่งได้ สัญญาการตอบสนองเป็นตัวกำหนดว่าความคืบหน้าใดถูกต้อง

การออกแบบแอปพลิเคชันสัญญาความคืบหน้า
งานแบบอะซิงโครนัส202 Accepted พร้อมrepresentation ที่อธิบายการตรวจสอบ ตามด้วยคำขอสถานะที่มีขอบเขต และสถานะเสร็จสิ้น/ล้มเหลวที่ชัดเจน
สตรีม Server-Sent EventsContent-Type: text/event-stream และบันทึกที่ไคลเอนต์ SSE เข้าใจ

202 ไม่ได้รับประกันว่างานจะสำเร็จ สำหรับ SSE บันทึกความคิดเห็นอาจมีลักษณะเช่นนี้:

: heartbeat

เครื่องหมายทวิภาคทำให้เป็นความคิดเห็นแทนที่จะเป็นเหตุการณ์ของแอปพลิเคชัน บันทึกการเขียนของ HTML แนะนำความคิดเห็นเป็นระยะประมาณทุก 15 วินาทีเพื่อรับมือกับพฤติกรรมการไม่ได้ใช้งานของพร็อกซีแบบเก่าบางอย่าง นั่นเป็นแนวทาง ไม่ใช่การรับประกันการหมดเวลาแบบสากล

ทำให้ส่วนหัวเสร็จสมบูรณ์และตรวจสอบให้แน่ใจว่าแอปพลิเคชัน/สแตกการให้บริการปล่อยบันทึกแทนการ บัฟเฟอร์ไว้ในเครื่อง ไบต์ที่ยังไม่ถูกส่งไม่สามารถทำให้ตัวกลางปลายทางคงอยู่ได้

อย่าแทรกความคิดเห็น SSE ลงในเนื้อหา JSON หรือไบนารีทั่วไป ชังก์ความยาวศูนย์ของ HTTP/1.1 สิ้นสุดบอดี้แบบ chunked ดังนั้นจึงไม่ใช่หัวใจเต้นว่างเปล่าที่ทำซ้ำได้

รักษากำหนดเวลาการดำเนินการและนโยบายการยกเลิก กิจกรรมการรับส่งข้อมูลเพียงอย่างเดียวไม่แสดงความคืบหน้าของงานที่มีประโยชน์หรือผลลัพธ์สุดท้ายที่ถูกต้อง

บทความที่เกี่ยวข้อง