쿠키 vs 세션
- 세션이 쿠키보다 보안에서 앞섭니다.
쿠키의 이름이나 데이터는 네트워크를 통해 전달되기 때문애 HTTP프로토콜을 사용하는 경우 중간에 누군가 쿠키의 값을 읽어올 수 있습니다. 하지만 세션의 값은 오직 서버에만 저장되기 때문에 중요한 테이터를 저장하기에 알맞은 장소입니다. - 웹 브라우저가 쿠키를 지원하지 않을 경우 또는 강제적으로 쿠키를 막는 경우 쿠키는 사용할 수 없게 됩니다. 그러나 세션은 쿠키 설정 여부에 상관없이 사용할 수 있습니다.
서블릿/JSP는 쿠키를 사용할 수 없는 경우, URL 재작성 방식을 사용해서 세션 ID를 웹 브라우저와 웹 서버가 공유할 수 있습니다.
- 세션은 여러 서버에서 공유할 수 없습니다. 반면에 쿠키는 도메인을 이용해서 쿠키를 여러 도메인 주소에 공유할 수 있습니다. 이런 이유로 Daum, Naver와 같은 포털 사이트는 쿠키를 이용해서 로그인 정보를 저장합니다.
출처 - (책) 최범균의 JSP2.3 웹프로그래밍 기초부터 중급까지
실제로 네이버에서 쿠키를 사용해서 로그인 정보를 관리하는지 확인해 보았습니다.
검은 사각형을 개인정보내용이라 가렸습니다. 실제로는 변환된 정보가 써있습니다.
자세히 보면 "NID_000"라는 쿠키이름이 여러개 보입니다. 로그인 정보를 담고 있는 쿠키입니다.
또 살펴보니 Expires/Max-Age 라는 항목에 "Session"이라는 값이 담겨있어서 호기심에 관련해서 검색해보았습니다.
흥미롭네욬ㅋㅋㅋ 신기합니다