
157
9
장
쿠키와 세션
이번 장에서는 쿠키와 세션으로 사용자 경험을 개선하는 법을 배웁니다. 쿠키와 세션으로 모든
페이지, 심지어 브라우저 세션에서 사용자의 설정을 통일할 수 있습니다.
HTTP
는
상태가 없는
stateless
프로토콜입니다. 상태가 없다는 말은 브라우저에서 어떤 페이지를
불러온 다음, 같은 웹사이트의 다른 페이지로 이동할 때, 같은 브라우저가 같은 사이트에 방문
한다는 사실을 알아낼 방법이 없다는 뜻입니다. 서버에도, 브라우저에도 없습니다. 달리 말하
면,
모든
HTTP
요청에는 서버에서 그 요청을 수행할 때 필요한 정보가 모두 들어 있다는 뜻입니다
.
웹은 이런 방식으로 동작합니다.
하지만 이런 방식에는 문제가 있습니다. 이대로 진행한다면 사용자는 사이트에서 이동할 때마
다 로그인이 풀립니다. 미디어 스트리밍도 제대로 동작하지 않습니다. 페이지를 이동할 때마다
해당 웹사이트에서 설정한 내용이 모두 사라집니다. 이를 해결하기 위해 ‘상태’를 보존할 방법
이 필요했고 따라서 쿠키와 세션이 등장했습니다.
쿠키를 지저분한 용도로 사용한 사람들이 너무 많았기에, 쿠키라는 이름만 들어도 나쁜 선입견
을 갖는 경우가 많습니다. ‘최신 웹’이 제대로 동작하려면 쿠키가 꼭 필요한데, 이런 선입견이
생겨버렸으니 한탄할 노릇입니다 (
HTML
5
에서 쿠키와 ...