LabHub

SSE — 서버가 먼저 말하는 법 · 와이어와 끊김 · 퀴즈

SSE 확인

LabHub 에서 이어서 보기

문항 8개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. SSE 이벤트 하나의 끝을 표시하는 것은?

    1. 줄 끝에 붙이는 세미콜론
    2. 아무것도 없는 빈 줄 하나
    3. `end:` 필드를 한 줄 보낸다
    4. TCP 연결을 끊는다
  2. `id:` 를 붙여 두면 브라우저가 재접속할 때 무엇을 하나?

    1. 마지막 id 를 Last-Event-ID 헤더로 보낸다
    2. 재접속만 하고 id 는 그냥 버린다
    3. 마지막 id 를 쿠키에 저장해 보낸다
    4. URL 쿼리 문자열에 id 를 붙인다
  3. '코드는 맞는데 화면에 한꺼번에 나온다'의 가장 흔한 원인 셋이 아닌 것은?

    1. 리버스 프록시의 응답 버퍼링
    2. gzip 압축
    3. 제너레이터가 아니라 리스트를 만들어 반환
    4. TLS 암호화
  4. `: ping` 한 줄을 주기적으로 보내는 이유는?

    1. 클라이언트에 알림을 준다
    2. 연결 속도를 잰다
    3. 바이트를 흘려 로드밸런서의 유휴 타임아웃을 넘긴다
    4. 순서를 맞춘다
  5. HTTP/1.1 에서 SSE 를 쓸 때 걸리는 제한은?

    1. 한 이벤트의 크기가 64KB 로 제한된다
    2. 1분이 지나면 서버가 강제로 끊는다
    3. 텍스트만 되고 바이너리는 못 보낸다
    4. 오리진당 동시 연결 6개 — 탭을 여러 개 열면 막힌다
  6. 서버 제너레이터에 `finally` 를 붙여야 하는 이유는?

    1. 제너레이터 문법상 반드시 필요하다
    2. 이벤트 전송 속도가 조금 빨라진다
    3. 클라이언트가 끊어도 정리하지 않으면 좀비 태스크가 쌓인다
    4. 끊긴 뒤 재접속이 더 빨라진다
  7. WebSocket 을 골라야 하는 경우는?

    1. 클라이언트가 자주 보내거나 바이너리가 필요할 때
    2. 서버에서 알림만 내려보낼 때
    3. 요청에 인증 헤더를 붙여야 할 때
    4. 리버스 프록시 뒤에 있을 때
  8. `curl` 로 스트리밍을 진단할 때 `-N` 을 붙이는 이유는?

    1. 출력을 색으로 예쁘게 보여 준다
    2. curl 자신의 출력 버퍼링을 꺼서 오진을 막으려고
    3. 응답 타임아웃을 무제한으로 늘린다
    4. 응답 헤더까지 함께 보여 준다