웹 기술 기초

HTTP는 무상태(stateless) 프로토콜이다. 이것과, 웹사이트에서 로그인한 상태를 유지하는 일반적인 방법에 대한 설명으로 올바른 것은?

  1. A서버는 같은 TCP 연결로 도착한 요청을 모두 기억하므로, 브라우저가 연결을 끊지 않는 한 로그인한 상태가 그대로 계속된다
  2. BHTTP 자체가 로그인한 이용자를 기록하는 구조를 가지므로, 웹 애플리케이션 쪽에서는 상태를 유지하기 위한 처리를 아무것도 하지 않아도 된다
  3. CHTTP 자체는 요청끼리의 관계를 기억하지 않으므로, 서버가 발급한 세션 ID를 Cookie로 주고받고 브라우저가 매번 돌려보낸다
정답과 해설 보기

정답: C. HTTP 자체는 요청끼리의 관계를 기억하지 않으므로, 서버가 발급한 세션 ID를 Cookie로 주고받고 브라우저가 매번 돌려보낸다

무상태란 각 요청이 독립적으로 처리되고, 프로토콜로서는 이전 요청의 내용을 기억하지 않는다는 것입니다. 서버가 상태를 가지지 않아도 되므로 어느 서버에서든 요청을 처리할 수 있어, 서버 대수를 늘리기 쉽다는 장점이 있습니다. 로그인처럼 상태를 유지하고 싶을 때는 서버가 Set-Cookie 헤더로 세션 ID를 건네고, 브라우저는 같은 사이트로 가는 요청에 Cookie 헤더로 자동으로 붙여 보냅니다. 서버는 받은 ID를 단서로 자기 쪽에 저장해 둔 이용자 정보(세션)를 찾습니다.

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

웹 기술 기초의 다른 문제

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