쿠키와 세션은 HTTP프로토콜의 단점을 커버하기 위해 존재
HTTP프로토콜의 단점은
클라이언트가 브라우저로 웹페이지 접속
클라이언트가 요청한 웹페이지를 전송받으면서 쿠키도 하드에 저장
클라이언트 재 방문 시 웹페이지 요청과 함께 쿠키값도 전송
지속적으로 로그인 정보를 가지고 있는 것 처럼 사용
세션은 클라이언트와 웹서버 간 네트워크 연결이 지속 유지되고 있는 상태를 말함
(브라우저를 열고 다시 종료할 때의 시점)
HTTP 프로토콜은 비접속형 프로토콜이므로, 매 접속시마다 새로운 네트워크 연결이 이루어지는데, 세션이 연결유지를 가능하게 해줍니다
클라이언트가 웹서버에 Request를 보내면, 해당 서버의 엔진이 클라이언트에게 유일한 ID를 부여하는데 이 ID를 세션이라고 부른다
세션 ID는 클라이언트가 재 접속 했을 때 클라이언트를 유일하게 구분하는 수단이 됩니다.
사용했던 보았던 정보들을 서버에 저장하기 때문에 보안 면에서 쿠키보다 우수합니다.
세션은 바이너리 및 암호화 형식으로 저장되어 보안이 유지됩니다.
Session | Cookie |
---|---|
서버에 저장 | 클라이언트에 저장 |
서버의 자원 사용 O | 서버의 자원 사용 X |
쿠키에 종속함 | 세션에 종속 안함 |
원하는 데이터만큼 저장 가능 | 최대 크기 4KB |
비활성화 불가능 | 비활성화 가능 |
reference
https://blog.naver.com/PostView.nhn?blogId=suin2_91&logNo=221369666676
https://www.guru99.com/difference-between-cookie-session.html