웹 기술 기초

브라우저의 localStorage와 Cookie의 차이로 올바른 것은?

  1. AlocalStorage의 데이터는 요청에 자동으로 붙지 않으며, 같은 출처인 페이지의 JavaScript에서 읽고 써서 사용한다
  2. BlocalStorage의 데이터도 Cookie와 마찬가지로 같은 사이트로 가는 요청마다 헤더에 넣어져 자동으로 서버로 보내진다
  3. ClocalStorage에도 HttpOnly 속성을 붙일 수 있으므로, 세션 ID를 두어도 페이지의 스크립트에서는 읽을 수 없다
정답과 해설 보기

정답: A. localStorage의 데이터는 요청에 자동으로 붙지 않으며, 같은 출처인 페이지의 JavaScript에서 읽고 써서 사용한다

localStorage는 출처마다 키와 값의 문자열을 저장하는 브라우저의 저장 공간으로, 유효 기간을 정하는 구조가 없으며 일반적으로 지울 때까지 남습니다. 서버로는 자동으로 보내지지 않으므로, 보내고 싶을 때는 JavaScript로 요청에 넣습니다. Cookie는 하나당 일반적으로 약 4 KB까지로 작고 요청할 때마다 자동으로 보내지는 데 비해, localStorage에는 더 큰 데이터를 둘 수 있습니다. 다만 페이지의 JavaScript에서는 언제든지 읽을 수 있으므로, XSS가 있으면 내용을 도둑맞습니다. 인증에 사용하는 값을 둘 때는 이 위험을 고려해야 합니다.

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

웹 기술 기초의 다른 문제

  1. 로드 밸런서 뒤에 애플리케이션 서버 3대를 두고, 요청을 차례로 각 서버에 분배하고 있다(라운드 로빈). 로그인한 이용자의 세션 정보는 로그인을 처리한 서버의 메모리에만 저장하고 있다. 일어나기 쉬운 문제와 대책의 조합으로 적절한 것은?
  2. 서명을 붙인 일반적인 JWT(JSON Web Token)에 대한 설명으로 올바른 것은?
  3. 사진 인화 서비스 앱이 이용자의 허락을 받아, 다른 회사의 사진 보관 서비스에 있는 이용자의 사진을 읽어 온다. OAuth 2.0에서 이용자에게 허락을 구하는 화면을 보여 주고, 이용자가 허락하면 앱에 액세스 토큰을 발급하는 역할은?
  4. OAuth 2.0과 OpenID Connect의 관계에 대한 설명으로 올바른 것은?
  5. REST의 사고방식에 따른 웹 API 설계로 적절한 것은?