[꼼꼼한 개발자] 꼼코더
45. [개발일지] - [피파 온라인 4 프로젝트] - 10. 상태 저장이 필요하다 (세션(Session), 쿠키(Cookie), 토큰(Token)) 본문
개발일지/피파 온라인 4 프로젝트
45. [개발일지] - [피파 온라인 4 프로젝트] - 10. 상태 저장이 필요하다 (세션(Session), 쿠키(Cookie), 토큰(Token))
꼼코더 2023. 5. 22. 15:41반응형
🙆🏻♂️ 많아진 기능
이전 기능들을 보면 알겠지만 대부분의 Open API 기능들이
'유저 고유 식별자(accessId)'를 필수적으로 요구하고 있다.
나는 이전에 개발 시 "우선 한 화면에 모든 메서드 기능을 출력하고 나중에 나눠야지!"라는 생각을 가지고
'accessId'를 한 메서드 안에서 계속 저장하여 돌려쓰는 방법을 선택했었다.
그렇게 계속 개발하던 도중
"매번 페이지 넘어갈때마다 닉네임 호출 -> '고유 식별자 획득' 작업을 반복할 수 없는데.."
그렇게 수정이 필요하다는 걸 직감했다..
🤷🏻 어떻게 수정할까?
찾아보니 리액트에서는 UseState를 사용하지만
백엔드에서는 상태 저장을 3가지 중(세션, 쿠키, 토큰)에서 선택해야 했다.
🚀 상태 저장 선택(세션(Session), 쿠키(Cookie), 토큰(Token))
우선 가장 큰 특징들을 간단하게 적어보겠다.
- 📝 세션(Session)
- 서버 측에서 클라이언트의 상태 정보를 저장하고 관리하는 방식.
- 세션은 서버에 저장되며, 클라이언트는 세션 ID를 받아서 이를 사용하여 서버와 상태를 공유한다.
- 🍪쿠키(Cookie)
- 클라이언트 측에 저장되는 작은 데이터 조각.
- 쿠키는 클라이언트의 웹 브라우저에 저장되어 서버와 클라이언트 간의 상태 정보를 유지한다.
- 🪙 토큰(Token)
- 클라이언트가 서버로부터 발급받은 문자열로, 클라이언트의 인증 정보나 권한 등을 담고 있다.
- 토큰은 클라이언트 측에 저장되거나 안전한 방식으로 전송되어 상태를 유지한다.
위에 특징으로 봐서는
- 토큰 : 권한(role)에 따른 기능은 없고 무엇보다 회원 기능이 없기 때문에 불필요.
- 쿠키 : 쿠키는 클라이언트 측에 저장되어 보안상 중요한 accessId를 저장하기에 부적합하고, 클라이언트가 쿠키를 조작하거나 삭제할 수도 있어서 데이터의 무결성이 보장되지 않을 수 있다.
👉🏻 결론(최종 선택)
세션을 선택했다.
이 후 개발하고 글을 작성해 보겠다.
'개발일지 > 피파 온라인 4 프로젝트' 카테고리의 다른 글
Comments