티스토리 뷰

new study

COOKIE vs SESSION

kkssry 2019. 6. 24. 03:30
  • 두 기술 모두 HTTP에서 Connectionless 와 Stateless 한계를 해결 하기 위한 기술이다.

    • Connectionless(비연결성) : HTTP는 먼저 클라이언트가 request를 서버에 보내면, 서버는 클라이언트에게 요청에 맞는 response를 보내고 접속을 끊는 특성이 있다.

    • Stateless (상태유지안함) : 연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며 상태 정보는 유지하지 않는 특성이 있다.

\ COOKIE SESSION
사용사례 장바구니, 오늘 더 이상 창을 보지 않음 로그인 정보 유지
저장위치 클라이언트 서버
보안 위험 상대적으로 안전
라이프 사이클 만료기간 까지 만료기간 까지 or 기본적으로 브라우저를 끄면 만료
단점 클라이언트의 상태정보를 노출될 위험이 있다. 서버에 저장하기 때문에 서버에 부담이 된다.

쿠키

쿠키

  • 서버는 Set-Cookie header 값으로 상태를 유지하고 싶은 값을 클라이언트에 전송한다.
  • 클라이언트는 Set-Cookie에 담겨 있는 값을 꺼내 이후에 발생하는 모든 요청의 Cookie header로 다시 서버에 전송한다.
  • 서버는 클라이언트에서 전송한 Cookie header 값에 따라 이전에 접속한 사용자인지를 판단한다.

세션

세션

  • session_id는 서버가 클라이언트를 구분할 수 있게 해주는 key가 된다.
  • 세션은 기본으로 Cookie를 사용하는 방법은 동일하다.
  • 단, 세션은 클라이언트와 서버간에 저장하고 싶은 데이터를 서버에 저장한 후 이 값에 대한 유일한 ID 값(Session ID라고 한다.)을 발급한다.
  • 클라이언트와 서버 사이는 Cookie를 통해 Session Id만 주고 받는다.
  • 서버는 클라이언트가 전송한 Session Id를 활용해 서버에 저장된 값을 꺼내와 사용한다.

인증과 같은 보안과 밀접한 관계에 있는 상태정보는 세션에 저장하고, 그밖에 상태를 유지하기 위해 필요한 정보는 쿠키에 저장한다.

[참고자료]
https://cinabrosite.wordpress.com/2017/01/24/cookie_session/
https://jeong-pro.tistory.com/80

'new study' 카테고리의 다른 글

템플릿 콜백 패턴  (0) 2020.02.17
PROCESS vs THREAD  (0) 2019.06.30
replace vs replaceAll  (0) 2019.06.21
GET vs POST  (0) 2019.06.20
BufferedReader vs Scanner  (2) 2019.06.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함