쿠키와 세션

고규빈·2022년 5월 22일
0

쿠키란?

  • 웹 브라우저에서 서버로 어떤 데이터를 요청 하면, 서버측에서는 알맞은 로직을 수행한 후 데이터를 웹 브라우저에 응답 합니다.

  • 서버는 웹 브라우저와의 관계를 종료합니다. 이렇게, 웹 브라우저에 응답 후 관계를 끊는 것은 http프로토콜의 특징 입니다.

  • 연결이 끊겼을 때 어떤 정보를 지속적으로 유지하기 위한 수단으로 쿠키라는 방식을 사용 합니다.

  • 쿠키는 서버에서 생성하여, 서버가 아닌 클라이언트측에 특정 정보를 저장 합니다. 그리고 서버에 요청 할 때 마다 쿠키의 속성값을 참조 또는 변경 할 수 있습니다.

  • 쿠키는 4kb로 용량이 제한적이며, 300개까지 데이터 정보를 가질 수 있습니다.

  • 쿠키는 서버에서 생성되고, 클라이언트로 전송하여 저장됩니다.

쿠키 문법

쿠키 생성 방법 및 관련 메소드들을 살펴 보겠습니다.

  • 서버에서 처음 쿠키 생성하여 클라이언트한테 전달

쿠키 생성 방법 및 관련 메소드들을 살펴 보겠습니다.

  • 클라이언트가 어떠한 요청을 하고, 서버에서 클라이언트에게 받은 쿠키를 추출

쿠키 생성 방법 및 관련 메소드들을 살펴 보겠습니다.

  • 클라이언트에게 있는 쿠키 삭제 방법

쿠키 관련 메소드

  • setMaxAge() : 쿠키 유효기간을 설정 합니다.
  • setPath() : 쿠키사용의 유효 디렉토리를 설정 합니다.
  • setValue() : 쿠키의 값을 설정 합니다.
  • setVersion() : 쿠키 버전을 설정 합니다.
  • getMaxAge() : 쿠키 유효기간 정보를 얻습니다.
  • getName() : 쿠키 이름을 얻습니다.
  • getPath() : 쿠키사용의 유효 디렉토리 정보를 얻습니다.
  • getValue() : 쿠키의 값을 얻습니다.
  • getVersion() : 쿠키 버전을 얻습니다.

세션이란?

  • 세션도 쿠키와 마찬가지로 서버와의 관계를 유지하기 위한 수단 입니다.

  • 쿠키와 달리 클라이언트의 특정 위치에 저장되는 것이 아니라, 서버상에 객체로 존재 합니다.

  • 세션은 서버에서만 접근이 가능하여 보안이 좋고, 저장할 수 있는 데이터에 한계가 없습니다.

  • 세션은 서버에서 생성, 저장하여 관리한다.

세션 문법

  • 세션 생성
    HttpSession session = request.getSession();

  • 서버에서 세션 값 가져오기
    session.setAttribute(“세션 id”, 저장할 세션 값);

  • 서버에 세션 객체 생성
    String id = (String)session.getAttribute("id"); //세션 id 값이 id인 세션 값

  • 서버에서 세션 제거하기
    session.invalidate(); //모든 세션 제거
    session.removeAttribute("id"); //하나의 세션 제거

세션 관련 메소드

  • setAttribute() : 세션에 데이터를 저장 합니다.
  • getAttribute() : 세션에서 데이터를 얻습니다.
  • getAttributeNames() : 세션에 저장되어 있는 모든 데이터의 이름(유니크한 키값)을 얻습니다.
  • getId() : 자동 생성된 세션의 유니크한 아이디를 얻습니다.
  • isNew() : 세션이 최초 생성되었는지, 이전에 생성된 세션인지를 구분 합니다.
  • getMaxInactiveInterval() : 세션의 유효시간을 얻습니다. 가장 최근 요청시점을 기준으로 카운트 됩니다.
  • removeAttribute() : 세션에서 특정 데이터 제거 합니다.
  • Invalidate() : 세션의 모든 데이터를 삭제 합니다
profile
안녕하세요

0개의 댓글