• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

express session 하나만 더 질문드리고 싶습니다

22.05.10 22:01 작성 조회수 519

0

강사님 안녕하세요

항상 많은 질문을 받아주셔서 감사합니다

session 관련해서 이것만 더 질문드리고 다음 진도로 넘어가려고 하는데 가르쳐주시면 정말 감사하겠습니다

express session 미들웨어를 사용하고나서, 클라이언트에게 쿠키가 생성되는 시기에 대해 질문드리고 싶습니다

 

그 다음은 아이디를 입력하고 로그인 버튼을 눌렀습니다

 

그래서 실험을 해봤습니다

67행을 주석처리하자, 클라이언트는 세션쿠키를 받지 못했습니다

 

그래서 내린 결론은

req.session.name 에 값을 입력 후

res. 함수를 사용하면

클라이언트에게 쿠키가 생긴다는 결론에 도달했습니다

이런 식으로 접근하는 걸 바꿔보기로 말씀드렸었는데

구글링으로 원하는 정보를 찾지 못해서 또 이렇게 접근하게 되었습니다

혹시 제가 내린 결론이 잘못된 건지 봐주시면 정말 감사하겠습니다

답변 2

·

답변을 작성해보세요.

1

resave랑 saveUninitialized 옵션을 true로 만들면 req.session에 값을 넣지 않아도 쿠키가 생성됩니다. false면 반드시 req.session이 수정되어야만 쿠키가 생성됩니다.

아하 가르쳐주셔서 감사합니다!

구글링을 해봤는데, 

resave  옵션은 true면 수정사항이 없어도 세션을 다시 저장하므로 false를 권장하고

saveUninitialized  세션이 세션 store에 저장되기 전에 uninitialized된 상태를 만들어 저장한다는 설명은 되어있었습니다
그런데 브라우저 쿠키 생성 시기에 대한 부분까지는 유추가 어려웠습니다
아 이 옵션들이 이렇게 되는군요
그리고 이 설명에서 나온 세션 store가 브라우저의 세션 저장소였네요
다음 진도로 넘어가겠습니다

0

아 지난번에 req.session에다 값을 넣으면 브라우저에 connect.sid 쿠키가 보내진다는 말씀이 이 말씀이셨군요 그 말씀을 드디어 온전히 이해한 것 같습니다