[react] SSE 알림 ERR_HTTP2_PROTOCOL_ERROR 200 에러

강인호·2022년 10월 1일
0

오류 해결

목록 보기
21/23

튜터님이 말씀하신건

짧은시간안에 너무 많은 api 호출이 발생해서 생기는 에러 라고 하셨다.

구독요청에서 자꾸 저 에러가 뜨고 네트워크에서도 실패한 요청이 있어서

한번 계속 들여다보았다.

구독을 하고 lastId로 갱신 요청이 될때 이전에 있던 요청이 실패함 처리되고 새로운 요청으로 갱신되는 장면을
포착했다.

만약 구독api자체가 하나의 요청만 수용할 수 있는 api라고 친다면 순간적으로 2개의 요청이 들어와서

수용할 수 있는 것보다 많은 요청이 들어온상태로 간주해서

ERR_HTTP2_PROTOCOL_ERROR 200 에러가 발생하고, 이전요청을 실패처리하면서 발생한게 아닐까??라는 추측을 해보았다.

앞선 구독을 끊고 새 구독을 하는과정자체는 내생각엔 문제가 없어보였으나 오류콘솔을 동반하는게 마음에 들지않았는데,

첫번째로 든 생각은 위의 가설이 맞다는 가정하에 서버쪽에서 수용할 수 있는 api를 2개로 늘려주면 순간적으로

2개의 요청이 들어왔을때 오류콘솔이 작동하지 않을까 라는 생각을 해보아서 백엔드쪽에다가 말을 해봤는데 건드릴 수 있는 코드가 없다고 했다.

두번째로는 구독을 할때 설정하는 heartbeatTime이 끝나기전에 새로운 요청이 들어와서 곂치는것이라고 생각을 해서 heartbeatTime을 갱신되는 시점에 맞추어보았다.

1분을 기점으로 변경되어서 1분을 설정했으나 똑같았고 1초를 줄인 59초로 설정을 해보았다.

이전요청이 삭제됨 처리는 되지않았지만, 콘솔에 일정시간동안 요청이없어서 새로 연결한다는 메세지가 떴고 다른 방법을 찾기로 했다.

세번째로는 구독을 할때 텀을 주면 요청이 곂치지않지않을까란 생각으로 setTimeout으로 텀을 줘보았다.

이것도 해결되지않았다.

0개의 댓글