티스토리 뷰

WEB/etc

[WEB] 세션과 쿠키

퉁이리 2021. 11. 25. 08:44
반응형

세션

세션은 일정 시간 동안 같은 브라우저로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술이다.

 

  • 서버에서 가지고 있는 정보
  • 각 클라이언트에게 고유 세션 ID 부여
  • 만료 시점은 브라우저를 종료할 때까지 유지

 

쿠키

쿠키는 어떤 웹 사이트 방문 시, 브라우저의 정보를 로컬에 저장한 파일을 말한다.

 

  • 브라우저(로컬)에서 가지고 있는 정보
  • 고유 세션 ID를 쿠키에 저장
  • 만료 시점은 쿠키 저장 시 설정


💦세션과 쿠키를 왜 사용할까?

현재 가장 많이 쓰이는 통신 방식인 HTTP 통신의 보안성 때문에 사용한다.

 

tmi) 보안성은 JWT 토큰이 보다 더 우수하다.

 

 

이미 다룬 내용이지만 잠깐 짚고 넘어가자!

자세한 내용을 원한다면? HTTP의 개념과 HTTPS와의 차이점

 


HTTP의 특징

 

1️⃣ 클라이언트-서버 구조

클라이언트는 서버에 요청을 보내고, 서버는 요청에 응답한다.

  • Request / Response 구조

 

2️⃣ 무상태 프로토콜

서버가 클라이언트의 상태를 보존하지 않는다.

  • 장점: 서버 확장성이 높다
  • 단점: 클라이언트의 이전 상황을 알 수 없다

 

3️⃣ 비연결성

HTTP는 요청 응답을 받으면 바로 TCP/IP 연결을 끊어 서버 자원을 최소한으로 사용한다.

  • 장점: 최소한의 자원만 유지한다
  • 단점: TCP/IP 연결을 새로 맺어야 한다 

브라우저가 서버에게 request를 보내면, 서버는 response를 한다.

그러곤 접속을 끊는다. 상태를 보존하지 않는 특성인 2️⃣ 무상태 프로토콜 때문이다.

 

브라우저와 서버가 통신을 주고받았다 해도, 그다음 통신에서는 이전 데이터를 유지하지 않는다.

연결을 끊는 특성인 3️⃣ 비연결성 때문이다.

 

 

위와 같은 특성으로 인해 서버와 브라우저가 통신을 한 번 완료할 때마다 정보가 끊어진다.

그러면 매번 인증을 번거롭게 해주어야 한다.

 

이러한 번거로움을 해결하기 위해, 인증을 유지하기 위해, 세션과 쿠키를 사용한다.

 

 


🎾 세션과 쿠키의 동작 방식

출처: tansfil.tistory.com/58

 

 

동작 방식

1. 사용자가 로그인 정보를 서버에 보낸다.

🔽

2. 서버는 데이터베이스에서 로그인 정보를 확인한다.

🔽

3. 확인이 되면 회원 정보 세션을 생성한다.

🔽

4. 세션 저장소에서 고유 세션 ID를 발급하여 서버에 넘겨준다.

🔽

5. 서버는 사용자에게 해당 세션 ID를 받는다.

🔽

6. 사용자는 서버에게 받은 세션 ID를 쿠키에 저장한 후 서버에 보낸다.

🔽

7. 서버는 사용자에게 받은 쿠키를 세션 저장소를 보내 검증한다.

🔽

8. 검증이 완료되면 유저 정보를 서버에 보내준다.

🔽

9. 서버는 해당 정보를 사용자에게 보내준다.

 

 

 

 

세션/쿠키 방식을 사용하면 우리는 위와 같은 방식으로 데이터를 서버에게 받는다.

세션/쿠키 방식은 서버에서 세션 저장소를 사용을 필요로 한다.

 

세션 저장소가 필요 없는 인증 방식 -> JWT 토큰

 

 

 

참고 사이트

쉽게 알아보는 서버 인증 1편(세션/쿠키 , JWT)

쿠키(Cookie), 세션(Session) 특징 및 차이

 

 

좋아요 로그인하지 않아도 누를 수 있습니다!

728x90
반응형

'WEB > etc' 카테고리의 다른 글

[WEB] MVC 패턴 (Model-View-Controller)  (0) 2021.11.30
[WEB] JWT 토큰  (2) 2021.11.25
[WEB] HTTP의 모든 것  (0) 2021.11.24
[WEB] 웹 서버란?  (2) 2021.11.24
[WEB] TOAST UI 사용법 (TOAST UI EDITOR)  (0) 2021.11.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함