웹 기술 기초
HTTP는 무상태(stateless) 프로토콜이다. 이것과, 웹사이트에서 로그인한 상태를 유지하는 일반적인 방법에 대한 설명으로 올바른 것은?
- A서버는 같은 TCP 연결로 도착한 요청을 모두 기억하므로, 브라우저가 연결을 끊지 않는 한 로그인한 상태가 그대로 계속된다
- BHTTP 자체가 로그인한 이용자를 기록하는 구조를 가지므로, 웹 애플리케이션 쪽에서는 상태를 유지하기 위한 처리를 아무것도 하지 않아도 된다
- CHTTP 자체는 요청끼리의 관계를 기억하지 않으므로, 서버가 발급한 세션 ID를 Cookie로 주고받고 브라우저가 매번 돌려보낸다
정답과 해설 보기
정답: C. HTTP 자체는 요청끼리의 관계를 기억하지 않으므로, 서버가 발급한 세션 ID를 Cookie로 주고받고 브라우저가 매번 돌려보낸다
무상태란 각 요청이 독립적으로 처리되고, 프로토콜로서는 이전 요청의 내용을 기억하지 않는다는 것입니다. 서버가 상태를 가지지 않아도 되므로 어느 서버에서든 요청을 처리할 수 있어, 서버 대수를 늘리기 쉽다는 장점이 있습니다. 로그인처럼 상태를 유지하고 싶을 때는 서버가 Set-Cookie 헤더로 세션 ID를 건네고, 브라우저는 같은 사이트로 가는 요청에 Cookie 헤더로 자동으로 붙여 보냅니다. 서버는 받은 ID를 단서로 자기 쪽에 저장해 둔 이용자 정보(세션)를 찾습니다.