강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

af8000님의 프로필 이미지
af8000

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

SSR시 쿠키 공유하기

궁금한 점이 있습니다.

해결된 질문

작성

·

189

0

getServerSideProps의 req.headers.cookie 는

 로그인 하고 브라우저의 Application => Cookies에 생긴 쿠키와는 다른건가요? 브라우저에 있는 쿠키를 지우고 새로고침 시 로그인이 풀리던데 그럼 서버사이드렌더링(getServerSideProps) 중 LOAD_MY_INFO_REQUEST 를 할떄

프론트 서버에서 브라우저에 있는 쿠키를 활용하는게 아닌가요? 서버사이드 렌더링 시 브라우저를 통하지 않는데 브라우저에 있는 쿠키를 지우면 로그인 풀리는 부분이 잘 이해가 가지 않습니다.

req.headers.cookie 는 브라우저에 있는 쿠키랑은 다른건가요?

 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

같은 겁니다. 서버사이드렌더링 시 왜 브라우저를 안 통한다고 생각하시나요? 브라우저 통해서 저희가 주소에 접근합니다.

af8000님의 프로필 이미지
af8000
질문자

영상의 1분 20초 정도의 내용을 차고 하자면 getServerSideProps는 프론트에서 실행 되는 것이고 getServerSideProps는 브라우저의 쿠키를 가져온다음 헤더에 토큰을 담고, LOAD_MY_INFO_REQUEST를 통해 서버에 요청을 한다. 라고 보면 될까요?
(프론트 =>  브라우저 토큰=> 프론트 => 백엔드 서버)

이해가 안됬던 부분이 강의를 들으며, "
getServerSideProps를 하면 브라우저에 접근 없이 다이렉트로 백엔드 서버에 요청한다" 이렇게 알고 있었는데 흐름을 잘 파악을 못하겠습니다.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

프론트라고 말한게 프론트 서버입니다.

그런데 프론트서버에 접근하려면 먼저 브라우저에서 주소를 입력해야하는데 이 때 프론트서버로 브라우저의 쿠키가 같이 전달됩니다. 즉, 겟서버사이드프롭스가 브라우저의 쿠키를 따로 가져오는게 아니라 겟서버사이드프롭스 실행 시 이미 브라우저로부터 쿠키를 갖고 있는 상태입니다.

브라우저(쿠키동봉) -> 프론트서버 -> 백엔드서버

af8000님의 프로필 이미지
af8000
질문자

많은 도움이 되었습니다! 감사합니다!

af8000님의 프로필 이미지
af8000

작성한 질문수

질문하기