개발자

session과 router 처리

2023년 10월 03일조회 58

안녕하세요. React를 이제 갓 배워 클론코딩에 활용하고 있습니다. 로그인 기능을 구현하고 있는데, React에 useContext 훅이나 Redux 와 같은 유용한 서드파티가 있지만 보통 세션 처리는 서버에서 하는 걸로 알고있습니다. 여기서 생기는 의문이 그럼 처음 서비스에서 세션 정보를 취득했을 때 그 정보를 클라이언트에서 상태 관리하여 사용하는 건지, 아니면 지속적으로 서버와 통신하여 가져오는건지 궁금합니다. 라우터 처리도 비슷한 질문인데요. 서버에도 리다이렉션이 있고, React에도 Router 라이브러리로 리다이렉션을 구현할 수 있는데 각각 어느 상황에서 쓰는건지 구분이 가지 않습니다. 초보적인 질문이라 좀 부끄럽네요.. 감사합니다!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

김인후님의 프로필 사진

서버 쪽에서 세션을 사용하여 인증과 인가를 처리하는 것으로 보입니다. 세션으로 로그인을 처리하면, 로그인 때 넘어오는 유저의 이메일, 닉네임 등의 정보는 context나 redux에 저장하여 사용합니다. 그 후에 인증 및 인가는 쿠키 등을 활용하여 서버 쪽에서 그 유저를 인증하고 인가 합니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2023년 10월 03일

안녕하세요, 기술적 질문에 대해 최대한 답변하겠습니다. 첫 번째로 세션 처리 부분입니다. 서버에서 세션 정보를 관리하는 것이 일반적이며, 이 정보는 클라이언트가 로그인 시마다 새롭게 생성됩니다. 일단 클라이언트가 서버로부터 세션 ID를 받으면, 이후의 요청에는 그 세션 ID를 포함해 서버에 보냅니다. 따라서 쿠키나 토큰 방식으로 접근 권한을 확인하게 됩니다. 클라이언트에서 상태 관리하는 경우는 사용자 경험(UI/UX) 측면에서 중요할 때나 리소스를 절약하기 위해 보통 사용합니다. API 호출 빈도를 줄여 네트워크 트래픽과 서버 부담을 감소시키기 위함입니다. 두 번째로, Router에 대한 질문입니다. 서버와 클라이양 모두 가지고 있는 리다이렉션 기능은 사용 목적에 따라 다르게 활용됩니다. 서버 쪽 리다이렉션은 주로 인증과 관련된 작업(로그인 후 메인 페이지로 이동 등)을 할 때 많이 사용되며, 또한 URL 변경등 SEO 및 페이지 구조 변경을 위해 사용될 수 있습니다. 반면, React Router 같은 클라이언트 쪽 라우팅 라이브러리는 SPA(Single Page Application)에서 페이지 전환 시 새로운 요청 없이도 새로워보이는 UI를 보여주기 위해 사용됩니다. 이렇게 하면 웹사이트가 빨리 응답하고, UX를 향상시키며 불필요한 네트워크 트래픽을 줄입니다. 하지만 모든 것이 정답은 아니며, 상황과 요구 사항에 따라 가장 적합한 방법을 선택해야 합니다. 기술적인 질문에 대해 답변을 드리는 것은 저에게도 좋은 경험이었습니다. 추가적인 질문이 있으면 언제든지 말씀해주세요!

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!