면접에서 이 질문이 나왔는데 정말 하나도 모르겠더라..
그래서 정리해본다.
참고 링크: 쿠키(Cookie)와 세션(Session)의 차이 (+캐시(Cache)) by coco3o
하이퍼 텍스트의 기록서의 일종.
인터넷 사용자가 어떠한 웹 사이트를 방문할 경우 사용자의 웹 브라우저를 통해 인터넷 사용자의 컴퓨터나 다른 기기에 설치되는 작은 기록 정보 파일을 일컫는다.
(위키피디아)
웹 사이트의 여러 페이지에 걸쳐 사용되는 사용자 정보를 저장하는 방법이다.
사용자가 브라우저를 닫아 서버와의 연결을 끝내는 시점까지를 세션이라고 한다.
HTTP 프로토콜의 특징이자 약점을 보완하기 위해서 사용한다.
서버와 클라이언트가 통신을 할 때 통신이 연속적으로 이어지지 않고 한 번 통신이 되면 끊어진다. 서버는 클라이언트가 누구인지 계속 인증을 해줘야 한다. 그런 번거로움을 해결하는 것이 쿠키와 세션!
- 쿠키는 클라이언트에 저장되지만, 세션은 서버에 저장된다.
쿠키는 서버의 자원을 전혀 사용하지 않고 세션은 서버의 자원을 사용한다.- 보안 면에서 세션이 더 우수함!
- 라이프 사이클이 다르다
쿠키도 만료기간이 있긴하지만, 파일로 저장되기 때문에 브라우저를 종료해도 정보가 유지된다.
반면 세션은 브라우저가 종료되면 만료기간에 상관없이 삭제된다.- 속도 면에서 쿠키가 더 우수하다!
캐시는 웹 페이지 요소를 저장하기 위한 임시 저장소이다.
쿠키/세션은 정보를 저장하기 위해 사용된다.
- 캐시는 웹 페이지를 빠르게 렌더링 할 수 있도록 도와주고
- 쿠키/세션은 사용자의 인증을 도와준다.
- 저장 공간이 작고 비싼 대신 빠른 성능을 제공한다.