쿠키와 세션

쿠키(Cookie)

  • 쿠키는 클라이언트에 대한 정보를 클라이언트의 하드디스크에
    작은 파일 형태로 저장한 text 파일로
    서버에서 사용자에게 편리한 기능을 제공하기 위해 많이 사용되고,
    쿠키는 웹 브라우저에 의해 관리된다.
  • 쿠키는 텍스트 형태로 저장되기 때문에 변조나 복사 등이 가능하여 보안성이 없다.
  • 저장되는 위치는 시스템(운영체제)이나 브라우저에 따라 다르며
    형식도 꾸준히 바뀌어 가고 있다.
  • 쿠키는 웹 브라우저가 거쳐간 웹 사이트 및 개인의 정보가 기록되기 때문에
    개인의 사생활을 침해할 소지가 있으며,
    이로 인한 보안 문제를 유발하기 때문에 일반적으로 웹 브라우저 자체에
    쿠키 거부 기능이 포함되어 있다.
    하지만, 쿠키 거부 기능을 설정하게 되면 웹 브라우저와의 연결을
    지속시키지 못하기 때문에 문제가 발생하게 된다.

쿠키의 동작 방식

쿠키의 동작 방식은 웹 서버와 웹 브라우저 간의 상호 협력으로 이루어진다.
웹 서버가 웹 브라우저의 요청에 응답할 때
HTTP 프로토콜에 있는 HTTP 헤더에 쿠키 정보를 포함시켜 클라이언트 쪽으로 보낸다.
그리고, 웹 브라우저가 웹 서버에 존재하는 페이지를 요구할 때
그 전에 자신이 방문했을 때 해당 페이지에 대한 웹 서버가 웹 브라우저 쪽으로
심어놓았던 쿠키를 웹 서버로 다시 건내주어서
이전 상태를 웹 서버가 알 수 있도록 한다.

세션(Session)

쿠키의 경우 브라우저에 상태를 유지하기 위한 정보를 저장하지만
(즉, 로컬 PC의 하드디스크에 저장)
세션은 웹 서버의 웹 컨테이너에 상태를 유지하기 위한 정보를 저장하는 것으로
『javax.servlet.http』 패키지의 『HttpSession』인터페이스를 통해
세션을 사용하게 된다.
또한 세션은 서버와 관련된 정보를 노출하지 않기 때문에
쿠키를 사용하는 것 보다 『HttpSession』 인터페이스의 세션을 통한 상태 관리가
보다 안정적(보안성 향샹)이라 할 수 있다.

한 번 생성된 세션은 종료하기 전까지 지속적으로 유지된다.
(중간에 사라지지 않음)
단, 은행 인터넷 뱅킹 이용 시 로그인이 풀리는 것과 같은 이유는
임의로 설정을 해 두엇기 때문이다.
이와 같은 성격으로 웹 어플리케이션을 실행하는 동안
지속적으로 사용하는 데이터의 저장 장소로 세션이 적합(적당)하다.

 

 

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

CGI, ASGI, WSGI  (0) 2023.04.12
HTML과 HTML5의 차이점  (0) 2023.02.07
Get 방식과 Post방식  (0) 2022.05.02