더북(TheBook)

4.2 쿠키와 세션 이해하기

 

클라이언트에서 보내는 요청에는 한 가지 큰 단점이 있습니다. 바로 누가 요청을 보내는지 모른다는 것입니다. 물론 요청을 보내는 IP 주소나 브라우저의 정보를 받아올 수는 있습니다. 하지만 여러 컴퓨터가 공통으로 IP 주소를 가지거나, 한 컴퓨터를 여러 사람이 사용할 수도 있습니다.

그렇다면 로그인을 구현하면 되지 않느냐고 생각할 수도 있습니다. 정답입니다. 하지만 로그인을 구현하려면 쿠키와 세션에 대해 알고 있어야 합니다. 여러분이 웹 사이트에 방문해서 로그인을 할 때 내부적으로는 쿠키와 세션을 사용하고 있습니다. 로그인한 후에는 새로고침(새로운 요청)을 해도 로그아웃되지 않지요? 바로 클라이언트가 서버에게 여러분이 누구인지를 지속적으로 알려주고 있기 때문입니다.

여러분이 누구인지 기억하기 위해서, 서버는 요청에 대한 응답을 할 때 쿠키라는 것을 같이 보내줍니다. 쿠키는 name=zerocho 같이 단순한 ‘키-값’의 쌍입니다. 서버로부터 쿠키가 오면 웹 브라우저는 쿠키를 저장해두었다가 요청할 때마다 쿠키를 동봉해서 보내줍니다. 서버는 요청에 들어 있는 쿠키를 읽어서 사용자가 누구인지 파악합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.