본문 바로가기

웹 브라우저

쿠키 세션

- 쿠키 세션을 사용해야하는 이유

통신이 끝나고 상태를 유지하지 않는 특징​

-쿠키

- 브라우저 로컬에 저장되는 키 값 쌍의 작은 데이터 파일

- 인증 유효 시간 명시 가능, 유효 시간 명시 후에 브라우저가 종료되어도 인증이 유지

- 웹 서버에 요청시 Request Header에 자동으로 쿠키를 넣어서 서버에 전송

- 클라이언트의 상태 정보를 로컬에 저장했다가 참조

--쿠키의 동작방식

클라이언트가 페이지 요청 ->

서버에서 쿠키 생성 ->

HTTP 헤더에 쿠키를 포함시켜 응답 ->

같은 요청을 하면 HTTP 헤더에 쿠키를 함꼐 보냄 ->

서버에서 쿠키를 읽고 이전 상태 정보를 변경 해야할때 쿠키를 업데이트하여 변경된 쿠키를 HTTP 헤더에 포함시켜 응답

--쿠키의 사용 예

방문 사이트의 로그인시 '아이디, 비밀번호 저장 하시겠습니까 ?'

쇼핑몰 장바구니

자동 로그인,

팝업 '오늘은 더이상 보지 않기' 체크,

장바구니

-세션

- 쿠키를 기반 하고 있지만, 사용자 정보 파일을 서버측에서 관리

- 클라이언트마다 고유의 세션ID를 부여하고

웹 브라우저가 서버에 접속해서 브라우저 종료때까지 인증 상태를 유지

( 접속 시간 제한두는 설정도 가능 )

- 사용자 정보를 서버에서 관리하기 때문에 쿠키보다 보안이 우수

- 사용자가 많아질수록 서버 메모리를 많이 차지

=> 동 접속자수가 많으면 서버에 과부하 => 성능 저하

--동작방식

클라이언트가 서버에 접속시 세션 ID 발급 받음 ->

클라이언트는 쿠키를 사용해서 세션ID 저장 ->

서버에 요청시 쿠키의 세션ID를 서버에 전달해서 사용 ->

세션ID로 세션에 있는 클라이언트 정보를 가져옴 ->

클라이언트 정보를 응답

-- 특징

- 각 클라이언트에 고유 ID 부여

- 보안면에서 쿠키보다 우수

- 사용자가 많아질수록 서버 메모리를 많이 차지

--세션 사용 예

로그인 ( 보안 중요한 작업 )​