작성
·
297
0
const cookie = context.req ? context.req.headers.cookie : '';
axios.defaults.headers.Cookie = '';
if (context.req && cookie) {
axios.defaults.headers.Cookie = cookie;
}
강의 잘 듣고 있습니다. 궁금한점이 있어서 문의드려요.
상단에 첨부한 부분 getServerSideProps 내부에서 서버 쿠키공유를 막을수 있다는 내용 관련 코드이구요, 영상에서 이 부분이 서버에서 실행이 된다고 언급을 하셨는데요. getServerSideProps는 frontend 서버에서 실행이 되는데 frontend 서버도 backend 서버처럼 하나이기 때문에 저쪽에서 컨트롤해줄수 있는건가요 ? 정확하게 잘 이해가 안가서 문의드립니다.
답변 3
0
요청을 보낸 다음 쿠키를 비우는 것과 요청을 보내기 전에 쿠키를 비우는 것은 반복 작업을 할 경우 동일한 효과를 냅니다. 제일 아래 있어도 되고 제일 위에 있어도 됩니다.
0
요청을 보낸다음에 쿠기를 비워주려면
axios.defaults.headers.Cookie = ''
이 문장이 제일 아래에 있어야 하지 않나요?
0
네 getServerSideProps는 프론트 서버에서 실행되는 코드입니다. 사용자들은 많은 수의 브라우저로 접근하지만 프론트 서버는 하나이므로 axios.defaults.headers.Cookie=쿠키 로 쿠키를 설정하게 되면 프론트 서버에 이 쿠키가 설정되어 버립니다. 모든 브라우저가 프론트 서버를 거쳐 백엔드 서버로 요청을 보낼 때 같은 쿠키가 적용되어버리는 것입니다.
그래서 한 번 설정했다가 요청을 보낸 다음에는 axios.defaults.headers.Cookie = ''로 비워주는 것입니다.