서비스가 몇 분간 조용하고 프록시가 시간 초과되면, 하트비트 바이트를 추가하기 전에 클라이언트가 무엇을 받아야 하는지 선택하세요. 타이머를 연장하면 한 번의 대기에 도움이 될 수 있습니다. 어떤 진행이 유효한지는 응답 계약이 결정합니다.

애플리케이션 설계진행 계약
비동기 작업모니터링을 설명하는 표현이 포함된 202 Accepted, 이어서 유한한 상태 요청과 명시적인 완료/실패 상태
Server-Sent Events 스트림Content-Type: text/event-stream 및 SSE 클라이언트가 이해하는 레코드

202는 작업이 성공한다고 약속하지 않습니다. SSE의 경우 주석 레코드는 다음과 같을 수 있습니다:

: heartbeat

콜론은 이를 애플리케이션 이벤트가 아닌 주석으로 만듭니다. HTML의 작성 노트는 일부 오래된 프록시 유휴 동작에 대항해 약 15초마다 주기적 주석을 제안합니다. 이는 지침일 뿐 보편적인 시간 초과 보장은 아닙니다.

헤더를 마무리하고 애플리케이션/서빙 스택이 레코드를 로컬에 버퍼링하는 대신 해제하도록 하세요. 아직 전송되지 않은 바이트는 다운스트림 중개자를 활성 상태로 유지할 수 없습니다.

일반 JSON이나 바이너리 콘텐츠에 SSE 주석을 삽입하지 마세요. HTTP/1.1의 길이 0 청크는 chunked 본문을 끝내므로 반복 가능한 빈 하트비트가 아닙니다.

작업 기한과 취소 정책을 유지하세요. 트래픽 활동만으로는 유용한 작업 진행이나 유효한 최종 결과를 보여 주지 않습니다.

관련 글