개발소설

쿠키(cookie)와 세션(session) 본문

CS/HTTP

쿠키(cookie)와 세션(session)

ChaeHing 2023. 4. 2. 22:59

쿠키(cookie)

  • 웹사이트를 방문시 사용자의 대한 정보등을 사용자 PC내에 저장하는 작은 기록 정보 파일
  • 웹사이트내에서 페이지를 이동하거나 웹사이트를 재방문 할때 쿠키를 참조하여 이전과 같은 상태를 유지 할 수 있다. 
    • 자동로그인, 마지막 페이지등
    • 요청페이지와 함께 쿠키를 전달한다.

세션(Session)

  • 웹사이트를 접속시 일정한 시간(접속 시점부터 종료 시점)동안 사용자의 상태를 웹서버내에 저장하여 사용자의 상태를 유지하는것을 Session이라 한다.
    • 세션을 유지함으로써 웹사이트내 다른페이지로 이동하더라도 사용자의 상태를 유지 할 수 있다.
    • 유지 시간을 따로 설정해두는 경우도 있다 ( 정해진 시간내 다른 행동이 없으면 세션이 끊긴다)

 

쿠키와 세션의 차이점

  쿠키 세션
저장 위치 사용자 PC (클라이언트) 웹 서버
저장 형식 text Object (객체)
만료 쿠키 저장시 설정 (브라우저 종료시에도 유지하게 할 수있음),
쿠키 삭제시
브라우저 종료, 정해진 시간(서버내 설정)
용량  총합 300개, 도메인당 20개, 하나의 쿠키당 4kb 서버가 정한 용량 (따로 정해진 용량 없음)
속도 세션 보다 빠르다 쿠키 보다 느리다
보안 세션 보다 안좋다. 쿠키 보다 좋다

 

쿠키와 세션을 사용하는 이유

  • 두가지 HTTP의 특성을 보완하기 위해 사용
  • HTTP의 비연결지향
    • 요청에 의한 응답후 연결 끊김
  • 상태 정보 유지하지 않음
    • 클라이언트 상태에 대한 정보를 가지지(저장하지) 않는다.
    • 이전에 연결 했었더라도 다음 연결시에 클라이언트 정보를 알지 못함
  • 웹사이트를 사용하다 보면 클라이언트의 상태(정보)를 유지해야 되는 경우들이 많다.
    • 유지 하지 않으면 웹사이트내 페이지 이동시 다시 로그인 해야된다.
    • 웹커머스 사이트에서 구매를 위해 여러가지 상품을 장바구니에 담는 경우
      • 어떠한 유저의 장바구니인지 알아야 한다.

 

'CS > HTTP' 카테고리의 다른 글

Postman  (0) 2023.03.28
OpenAPI  (0) 2023.03.28
REST API  (0) 2023.03.28
HTTP 상태코드 (status code)  (0) 2023.03.28
HTTP API  (0) 2023.03.27
Comments