인프런 커뮤니티 질문&답변
쿠키, 세션 질문있습니다
작성
·
340
0
1. 제가 이해한게 맞나요?
HttpSession에 setAttribute해서 세션값을 쿠키에 넘기는 방식을 사용하면 쿠키에 Name은 JSESSIONID로 넘어가고 Value에 uuid가 넘어간다. 그리고 그 value값과 addAttribute한 로그인 멤버에대한 매핑정보는 서버에 저장되어 getSession()을 사용하면 세션에 담긴 값을 알 수 있다. 이게 맞을까요?
2. 그리고 만약 맞다면, 혹은 틀리더라도 궁금한점
쿠키는 HTTP 헤더에 담기지만 쿠키의 uuid가 아닌 의미있는 정보값은 서버에만 있는데, 프론트에서 그걸 어떻게 처리할 수 있는건가요? 강의의 경우에는 타임리프를 서버쪽에서 렌더링하니까, getSession으로 정보를 꺼내고 그걸 model에 담아 화면에 넘길 수 있는데 프론트와 백을 따로 작업하는 경우에는 어떻게한는지 궁금합니다! 예를들어 백은 스프링 부트, 프론트는 리액트로 작업하는 개발자 둘이 협업한다고 했을 때도 이러한 HttpSession 방식으로 로그인 구현이 가능한가요?
퀴즈
로그인하지 않은 사용자가 로그인한 사용자만 접근할 수 있는 페이지에 접근하려고 할 때, 일반적인 웹 애플리케이션의 동작 방식은 무엇일까요?
접근 허용
에러 페이지 표시
로그인 페이지로 리다이렉션
아무런 반응 없음
답변 1
0
안녕하세요, 황수연 님. 공식 서포터즈 codesweaver 입니다.
.
1. 네 맞습니다. 세션에 대한 내용은 서버에서 관리되며, 클라이언트는 이 세션에 접근할 수 있는 키만 가지고 있다고 생각하시면 됩니다.
2. 백/프론트가 분리된 경우 API 형식으로 요청과 응당하게 됩니다. 이때는 우선 로그인에 성공하면 서버가 클라이언트에게 토큰을 발급하며, 클라이언트는 이 토큰을 모든 요청의 헤더(Http헤더)에 포함하여 전송합니다. 그리고 서버가 이 토큰을 보고 유효한 요청인지 아닌지를 판단하여 데이터를 응답합니다. 기존과 구조가 크게 달라지는 것은 없습니다.
.
감사합니다.





