CS지식

[CS지식] 프론트엔드 개발자가 알아야하는 컴공지식 - 쿠키와 세션

차빛 2023. 6. 16. 12:57
반응형

 

쿠키(Cookie)와 세션(Session)


- 쿠키와 세션은 웹브라우저와 웹서버가 통신하는 과정에서 많이 사용되므로 자주 언급된다.

 

쿠키 (Cookie)


- 사용자가 특정한 웹 사이트에 방문할 때, 사용자 컴퓨터에 저장하는 기록 파일

- 서버의 자원을 전혀 사용하지 않는다.

- ex ) "아이디와 비밀번호를 저장하시겠습니까?"

- Chrome과 같이 웹브라우저에서 저장하는 것은 별개

 

세션 (Session)


- 한 명의 사용자(브라우저)의 상태를 유지하는 기술이다.

- 서버가 클라이언트에게 고유한 Session ID를 부여하면, 클라이언트는 접속할 때마다 Session ID와 함께 요청한다.

- ex ) 웹사이트에 한번 로그인했을 경우, 다른 페이지로 이동해도 계속 접속 상태가 유지된다.

- 만약 Session ID를 다른 클라이언트에게 탈취당한다면, 다른사람이 자신의 행세를 할 수 있다.

- 서버가 가지고 있는 객체로, 특정 사용자의 로그인 정보를 유지하기 위해 사용할 수 있다.

- 클라이언트는 해당 세션을 계속 유지한다. (메일함에 접속할 때도 세션 ID를 서버에 전송한다.)

- 자신이 누구인지 서버에 알려주는 역할을 수행한다.

 

 

Session 인증 방식 예시


 

Session 방식의 특징


[ 장점 ]

- 클라이언트에게는 세션 ID(회원 식별 목적)을 제공하고, 회원에 대한 중요한 정보를 서버가 가지고 있다.

- 민감한 데이터를 클라이언트에 직접적으로 보내지 않는다.

- 클라이언트 브라우저가 가지고 있는 세션 ID 자체에는 개인정보를 포함하고 있지 않다.

 

[ 단점 ] 

- 악의적인 공격자가 세션 ID를 탈취하여 사용자인 척 위장할 수 있다.

- 웹 서버에 세션 정보를 기록하고 있어야하므로, 접속자가 많을 때 서버에 메모리 부하가 존재할 수 있다.

 

 

반응형