작성
·
242
0
강사님 해당 부분이 이해가 잘 안되서 질문드립니다.
axios.defaults.headers.Cookie = '';
if (context.req && cookie) {
axios.defaults.headers.Cookie = cookie;
}
중앙 서버에 defaults로 cookie 설정 시 타인과 쿠키가 공유 될 수 있기에 저 작업을 하신다고 하셨는데,
A라는 유저가 로그인하고 쿠키가 필요한 해당 요청을 하면 defaults.headers.Cookie가 A 유저의 쿠키로 설정 되고,
특정 요청이나 페이지 전환 없이 가만히 있다고 가정했을 때,
타 유저들이 인덱스 페이지에 접근하지 않는다면 default cookie는 계속 A 유저의 쿠키로 남아있는 상태인걸까요 ??
공백 '' 으로 리셋되는 타이밍이 정확히 어떤 시점인지 헷갈리네요.ㅜ
답변 2
0
context.req가 결국 브라우저에서 프론트서버로 전달된 cookie를 의미하는건가요??
다른글들 보는데도 이해가 잘 안갑니다.
브라우저랑은 통신없이 프론트서버가 쿠키를 백엔드서버로 전달해서 사용자 인증을 한다고하는데 사용자 식별은 쿠키를 가지고 알 수 있는건데 브라우저와 통신이 없는데 프론트서버에 그 쿠키는 어디서 어떻게 오는 쿠키일까요??
제가 이해하고있는건 아래방식인데 틀린건가요??
(브라우저) 쿠키 프론트서버로 전달 -> (프론트서버) 전달받은 쿠키 저장해서 백엔드 서버로 요청 -> 백엔드서버 쿠키에 따른 데이터 응답 -> 프론트서버 데이터와 컴포넌트 조합 -> 브라우저
0
네 한 번 쿠키가 설정되고 계속 남아있습니다. 그래서 초기화를 해줘야하는데 지금 코드는 다른 사람이 새롭게 요청을 하기 전에 초기화를 하는 것입니다. 반대로 모든 요청을 보내고 나서 끝에 초기화해도 되는데 끝에서 초기화하는 것보다는 처음에 초기화하는 게 좀 더 쉽더군요.
사실 실무에서는 개인정보 관련된 것은 SSR 안 하는게 정신건강에 이롭습니다. 실수로 한 사람의 정보가 다른 사람에게 들어가면 골치아파져서요.
context.req는 브라우저에서 프론트서버로 보낸 요청 객체입니다.
쿠키는 브라우저에서 오는게 맞습니다. 아래 프로세스가 맞습니다.