Page 21 -
P. 21
대해서는 참고에서 설명합니다. 두 번째 인자로는 헤더의 내용을 입력합니다. Set-Cookie는 브
라우저한테 다음과 같은 값의 쿠키를 저장하라는 의미입니다. 실제로 응답을 받은 브라우저는
mycookie=test라는 쿠키를 저장합니다.
localhost:8082에 접속합니다. req.url과 cookies 변수에 대한 정보를 로깅하도록 했습니다.
req.url은 주소의 path와 search 부분을 알려줍니다.
화면에는 Hello Cookie가 뜨고 콘솔에는 다음과 같은 메시지를 볼 수 있습니다.
콘솔
/ {}
/favicon.ico { mycookie: 'test' }
만약 실행 결과가 위와 다르다면 브라우저의 쿠키를 모두 제거한 후에 다시 실행해야 합니다. 다
른 사이트나 프로그램이 미리 쿠키를 넣어두었을 수도 있기 때문입니다.
요청은 분명 한 번만 보냈는데 두 개가 기록되어 있습니다. /favicon.ico는 요청한 적이 없는데
말이죠. 첫 번째 요청('/')에서는 쿠키에 대한 정보가 없다고 나오고, 두 번째 요청('/favicon.
ico')에서는 { mycookie: 'test' }가 기록되었습니다.
파비콘(favicon)이란 다음과 같이 웹 사이트 탭에 보이는 이미지를 뜻합니다.
그림 4-7 파비콘(favicon)
브라우저는 파비콘이 뭔지 HTML에서 유추할 수 없으면 서버에 파비콘 정보에 대한 요청을 보냅
니다. 현재 예제에서 HTML에 파비콘에 대한 정보를 넣어두지 않았으므로 브라우저가 추가로 /
favicon.ico를 요청한 것입니다.
요청 두 개를 통해 우리는 서버가 제대로 쿠키를 심어 주었음을 확인할 수 있습니다. 첫 번째 요청
(/)을 보내기 전에는 브라우저가 어떠한 쿠키 정보도 가지고 있지 않습니다. 서버는 응답의 헤더
에 mycookie=test라는 쿠키를 심으라고 브라우저에게 명령했습니다. 따라서 브라우저는 쿠키를
심었고, 두 번째 요청(/favicon.ico)의 헤더에 쿠키가 들어 있음을 확인할 수 있습니다.
140
node_06.indd 140 2018-07-20 오전 10:26:43