본문 바로가기
몰입형학습

쿠키 and 세션

by jackypark 2022. 9. 4.

쿠키(Cookie)?

웹 서버에 의해 생성되어 클라이언트에 저장되는 작은 데이터 파일이다.

Http는 비 상태 프로토콜이다

~> 이말은 즉 Http서버는 사용자의 상태를 유지하지 않는다는 말이다. 하지만, 많은 기업 웹사이트들은 웹사이트 이용자의 상태를 유지관리한다.

 

쿠키 사용에 필요한 4가지 요소:

  1. HTTP 응답 메시지의 쿠키 헤더 라인(cookie header line)
  2. 다음 HTTP 요청 메시지의 쿠키 헤더 라인
  3. 쿠키 파일 : 이용자 호스트의 웹 브라우저가 관리
  4. 웹사이트(또는 웹서버)의 백엔드(back-end) DB
  • 쿠키는 웹사이트에서 사용자의 취향, 접속 가능 시간 등의 민감한 내용을 알 수 있도록 한다
  • 쿠키를 이용하여 사용자의 이름, 메일 주소, 신용카드 정보들과 결합이 가능하다

 

위와 같은 특징을 활용하여 다음과 같이 활용이 가능하다

  • 사용자 식별 시
  • 장바구니
  • 추천목록
  • 사용자의 세션 상태 (web email)

쿠키는 어떻게 상태를 유지할까? HOW??

  • HTTP message들에 사용자의 상태를 담아 전송한다.

 

세션( Session )?

  • 쿠키를 기반으로 하고 있다. 하지만 사용자 정보 파일을 브라우저에 저장하는 쿠키와는 달리 세션은 서버 측에서 관리한다
  • 사용자에 대한 정보를 서버에 두기 때문에 쿠키보다 보안에 좋다, 하지만 사용자가 많아질수록 서버 메모리를 많이 잡아먹게 된다.

세션의 활용

  • 로그인 같이 보안상 중요한 작업을 수행할 때 사용
쿠키(Cookie)
세션(Session)
저장 위치
클라이언트
서버
저장 형식
text
Object
속도
빠르다
느리다
보안
낮다
높다
만료 시점
쿠키 저장시 설정
(브라우저가 종료되도,자동 삭제X)
브라우저 종료시 삭제
(기간 지정 가능,로그아웃시)
용량 제한
총 300개
하나의 도메인 당 20개
하나의 쿠키 당 4KB
서버가 허용하는 한 용량제한 없음

Session이 좋아 보이는데 그렇다면 왜 쿠키를 사용하지? why? 

앞에서 말했다시피 세션은 서버를 사용하기 때문에 서버 메모리가 감당할 수 없어지면 속도가 많이 느려지게 되기 때문에 쿠키가 어떤 면에서는 유리할 때도 있다.

 

Conclusion

그렇다면 내가 앞으로 웹을 만들 때 어떻게 해야 할까? 이 둘을 적절히 활용해서 세션을 사용할 때는 세션을 쿠키를 사용할 땐 쿠키를 잘 사용해야겠다

'몰입형학습' 카테고리의 다른 글

HTTP 상태코드  (0) 2022.09.15
[JAVA]멀티캐스팅을 이용한 채팅 프로그램  (0) 2022.09.06
절대 경로 AND 상대 경로  (0) 2022.09.04
GET 방식과 Post 방식  (0) 2022.09.04
OSI 계층 모델 7계층 ~  (0) 2022.09.04

댓글