웹개발

[웹개발] 쿠키와 세션

재담 2022. 5. 5. 01:35

쿠키(Cookie)

쿠키하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떤 웹 사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 말한다. 이 기록 파일에 담긴 정보는 인터넷 사용자가 같은 웹 사이트를 방문할 때마다 읽히고 수시로 새로운 정보로 바뀐다.

 

 

세션(Session)

세션은 네트워크 분야에서 반영구적이고 상호작용적인 정보 교환을 전제하는 둘 이상의 통신 장치나 컴퓨터와 사용자 간의 대화나 송수신 연결 상태를 의미하는 보안적인 다이얼로그 및 시간대를 가리킨다. 따라서 세션은 연결 상태를 유지하는 것보다 연결 상태의 안정성을 더 중요시하게 된다.

 

 

쿠키와 세션의 차이점

쿠키와 세션은 다음과 같은 차이점이 있다.

 

저장 위치

  • 쿠키 : 클라이언트의 웹 브라우저가 지정하는 메모리 또는 하드디스크
  • 세션 : 서버의 메모리에 저장

 

만료 시점

  • 쿠키 : 저장할 때 expires 속성을 정의해 무효화시키면 삭제될 날짜를 정할 수 있다.
  • 세션 : 클라이언트가 로그아웃하거나, 설정 시간 동안 반응이 없으면 무효화되기 때문에 정확한 시점을 알 수 없다.

 

리소스

  • 쿠키 : 클라이언트에 저장되고 클라이언트의 메모리를 사용하기 때문에 서버 자원을 사용하지 않는다.
  • 세션 : 세션은 서버에 저장되고, 서버 메모리로 로딩되기 때문에 세션이 생길 때마다 리소스를 차지한다.

 

용량 제한

  • 쿠키 : 클라이언트도 모르게 접속되는 사이트에 의하여 설정될 수 있기 때문에 쿠키로 인해 문제가 발생하는 걸 막고자 한 도메인 당 20개, 하나의 쿠키 당 4KB로 제한해 두었다.
  • 세션 : 클라이언트가 접속하면 서버에 의해 생성되므로 개수나 용량에 제한이 없다.

Reference