웹 기술 기초

Service Worker에 대한 설명으로 올바른 것은?

  1. A웹 서버 위에서 항상 동작하며, 브라우저에서 도착한 요청에 따라 데이터베이스 질의를 담당하는 프로그램이다
  2. B페이지의 DOM을 직접 바꿔 써서 그리기를 빠르게 하기 위한 CSS 기능으로, HTTPS가 아닌 페이지에서도 사용할 수 있다
  3. C페이지와는 별도로 브라우저 안에서 동작하는 스크립트로, 페이지의 요청을 중개하여 저장해 둔 응답을 돌려줄 수 있으며 오프라인 표시에 사용된다
정답과 해설 보기

정답: C. 페이지와는 별도로 브라우저 안에서 동작하는 스크립트로, 페이지의 요청을 중개하여 저장해 둔 응답을 돌려줄 수 있으며 오프라인 표시에 사용된다

Service Worker는 페이지가 등록하는 스크립트로, 페이지와는 별도로 브라우저 안에서 동작합니다. 그 출처의 페이지가 내는 요청을 받아(fetch 이벤트), 네트워크로 보낼지 저장해 둔 응답을 돌려줄지를 스크립트로 정할 수 있습니다. 이를 사용하면 오프라인에서도 페이지를 표시하거나 푸시 알림을 받을 수 있습니다. 통신을 중개하는 강한 권한을 가지므로 HTTPS 페이지(와 개발용 localhost)에서만 사용할 수 있으며, DOM에는 직접 접근할 수 없습니다.

이 분야 연습하기 분야로 돌아가기

웹 기술 기초의 다른 문제

  1. 스마트폰에도 대응하는 반응형 디자인 페이지에서 <head>에 <meta name="viewport" content="width=device-width, initial-scale=1">을 쓰는 주된 목적은?
  2. 이용자마다 내용이 다른 마이페이지의 응답에 Cache-Control: private, max-age=60을 붙였다. 이 지정의 효과로 올바른 것은?
  3. 웹 서버가 응답을 gzip이나 Brotli로 압축하여 보낼 때, 압축에 의한 전송량 절감이 일반적으로 가장 작은 것은?
  4. 1.5 MB의 텍스트 데이터를 gzip으로 3분의 1 크기로 압축하여 보낸다. 대역폭이 10 Mbps, RTT가 100 ms이고, 데이터를 보내기 시작하기 전에 TCP 연결, TLS 핸드셰이크, HTTP 요청에 합쳐서 3왕복이 걸린다고 한다. 1 MB = 10^6바이트로 하고, 압축과 압축 해제 시간, 헤더, TCP의 혼잡 제어에 의한 대기는 무시한다. 데이터를 다 받을 때까지의 시간에 가장 가까운 것은?
  5. 초당 2,000건의 요청을 받는 CDN에서 캐시 히트율이 90%에서 98%로 올라갔다. 히트했을 때의 응답 시간은 20 ms, 히트하지 않았을 때는 오리진 서버에서 가져와 돌려주므로 200 ms가 걸리며, 히트하지 않은 요청만 오리진 서버에 도달한다고 한다. 98%가 된 후 오리진 서버에 도달하는 요청 수와 평균 응답 시간의 조합은?