-
쿠키와 세션의 차이Computer Science 2024. 8. 14. 10:23
쿠키와 세션을 사용하는 이유?
HTTP 프로토콜의 특징이자 약점을 보완하기 위해서 사용한다.
세션과 쿠키는 클라이언트와 서버 간의 상태 정보를 유지하기 위해 사용된다. 하지만 이 둘에는 차이점이 있는데, 세션은 서버 측에서 관리 되고 클라이언트에게는 세션 ID만 전달되지만 쿠키는 클라이언트 측에서 관리된다. 따리서 쿠키는 클라이언트 측에서 변경이 가능하며, 서버가 클라이언트의 요청마다 쿠키를 받아서 처리한다.
쿠키는 클라이언트에서 연결정보를 관리하기 때문에 서버측에서 관리하는 것보다 보안상의 문제가 생길 확률이 높다. 따라서 쿠키보다 세션에서 연결 정보를 관리하는 것이 쿠키보다는 안전하다고 할 수 있다. 하지만 세션만 사용한면 서버에 부하를 줄 수 있기 때문에 이 둘을 적절히 사용하는 것이 중요하다.
쿠키와 세션의 차이
- 쿠키와 세션은 비슷한 역할을 하며, 동작 원리도 비슷하다. 그 이유는 세션도 결국 쿠키를 사용하기 때문이다.
- 큰 차이점은 사용자의 정보가 저장되는 위치이다.
- 쿠키는 서버의 자원을 전혀 사용하지 않으며, 세션은 서버의 자원을 사용한다.
- 보안 면에서 세션이 더 우수하다.
- 쿠키는 클라이언트 로컬에 저장되기 때문에 변질되거나 request에서 스니핑 당할 우려가 있어서 보안에 취약하지만
- 세션은 쿠키를 이용해서 session-id만 저장하고 그것으로 구분하여 서버에서 처리하기 때문에 비교적 보안성이 높다.
- 라이프 사이클은 쿠키도 만료기간이 있지만 파일로 저장되기 때문에 브라우저를 종료해도 정보가 유지될 수 있다. 또한 만료기간을 따로 지정해 쿠키를 삭제할 때까지 유지할 수도 있다.
- 반면에 세션도 만료기간을 정할 수 있지만, 브라우저가 종료되면 만료기간에 상관없이 삭제된다.
- 속도 면에서 쿠키가 더 우수하며 쿠키는 쿠키에 정보가 있기 때문에 서버에 요청 시 속도가 빠르고
- 세션은 정보가 서버에 있기 때문에 처리가 요구되어 비교적 느린 속도를 낸다.
'Computer Science' 카테고리의 다른 글
CS 기술 면접 핵심 요약 오답노트 (0) 2024.08.10 [TIL] CS 기술면접 (Feat. 밍글데이) (0) 2024.08.08 [CS 끄적..] MAC주소, IP주소, Port번호가 식별하는 건 뭘까.. (0) 2024.08.06 개발자인가 서기인가, 소프트웨어 문서 작성하기 (0) 2024.08.01 Computer Science 컴퓨터의 구조와 특징 (0) 2024.07.26