본문 바로가기

Spring

"쿠키를 이해하려면 세션부터 알아야 한다?"

세션과 쿠키


session(javax.servlet.http.HttpSession)


(세션 == 접속)  


→ 브라우저 URL 요청 시, 서버 각 브라우저를 식별할 수 있는 번호 부여

   서버측 메모리에 저장하고 있다가 또 다른 URL 요청 시, 같은 client인지 비교

→ 클라이언트에 대한 세션정보를 처리하기 위해 사용

→ 비연결형 프로토콜인데 마치 연결된 것처럼 접속상태를 유지해주는 메커니즘

비연결형 프로토콜 HTTP

    →  (한 페이지가 출력된 다음에 서버와 클라이언트 연결은 끊어짐)

세션의 사용용도)

      - 사용자 로그인

      - 쇼핑몰에서 장바구니 기능 구현

      - 사용자가 어떤 페이지를 다녀갔는지 웹 페이지 트래킹 기능을 구현


 주요메소드)

      getId()

        - 각 접속에 대한 세션 고유의 ID를 문자열형태로 리턴.


      getCreatingTime()

        - 세션이 생성된 시간을 long형 밀리세컨드 값으로 리턴

          (January 1, 1970 GMT기준)


      getLastAccessedTime()

        - 현재 세션으로 마지막 작업한 시간을 long형 밀리세컨드 값으로 리턴.


      getMaxInactiveInterval() --Default 1800초 30분

        - 세션의 유지시간을 초로 반환.


      setMaxInactiveInterval(t)

        - 세션의 유효시간을 t에 설정된 초 값으로 설정.


      invalidate()   → 세션이 해제(모든키가 삭제)

        - 현재 세션을 종료.

        - 로그아웃에서 사용.

        

      setAttribute(key, value) --추가,수정

        - 문자열 key로 Object value을 설정.

          

      getAttribute(key) --조회

        - 문자열 key로 설정된 세션 값을 Object형태로 반환.

        

      removeAttribute(key) -- 삭제 / 세션은 유지, 특정 키 값 삭제

        - 문자열 key로 설정된 Object 삭제.


- 쿠키는 사용자PC에, 세션은 서버에 사용자와 관련된 정보를 보관.

→ 쿠키 정의: 인터넷 사용자가 웹사이트를 방문, 그 사이트가 사용하고 있는 서버를통해 사용자의 컴퓨터에                         치되는 작은 기록 정보 파일

'Spring' 카테고리의 다른 글

Spring에서 웹소켓으로 알림 받기  (0) 2018.10.12
정리 #1  (0) 2018.09.30
"DTO와 VO의 차이는?"  (0) 2018.09.11
"Spring @Around 이해할 수 있나요?"  (0) 2018.09.07
"Spring DAO와 Service 메소드 명은 왜 다를까?"  (0) 2018.09.06