면접에서 “Cookie의 MaxAge, Expires 옵션이 무엇인지, 설정하지 않으면 어떻게 되는지 설명해 주세요.”라는 질문이 자주 나옵니다. 두 옵션의 차이와 미설정 시 동작을 정리해 보겠습니다.

MaxAge

MaxAge 옵션은 쿠키의 수명을 초 단위로 설정합니다. 예를 들어 Max-Age=3600은 쿠키의 수명을 1시간으로 지정합니다. 설정된 시간이 경과하면 브라우저는 해당 쿠키를 삭제합니다. MaxAge는 쿠키의 만료 시점을 현재 시간부터의 상대적인 시간으로 설정합니다.

Expires

Expires 옵션은 쿠키의 수명을 절대적인 날짜와 시간으로 지정합니다. 예를 들어 Expires=Wed, 08 Jun 2023 10:00:00 GMT는 쿠키의 수명을 2023년 6월 8일 오전 10시(GMT)로 설정합니다. 설정된 시간이 경과하면 브라우저는 해당 쿠키를 삭제합니다.

MaxAgeExpires는 둘 다 HTTP 쿠키의 수명을 지정하는 옵션입니다. 두 옵션이 함께 설정된 경우 일반적으로 Max-Age가 우선합니다.


설정하지 않으면?

MaxAgeExpires를 모두 설정하지 않으면 세션 쿠키(Session Cookie)가 생성됩니다. 세션 쿠키는 브라우저 세션이 유지되는 동안만 유효하며, 브라우저를 닫거나 세션이 종료되면 삭제됩니다. 따라서 브라우저를 닫으면 세션 쿠키가 삭제되어 다음 세션에서는 이전 쿠키 데이터를 사용할 수 없습니다.

반대로 MaxAge 또는 Expires를 설정하여 수명을 지정하면, 해당 시간이 경과해야 브라우저가 쿠키를 삭제합니다. 이를 통해 사용자 추적이나 세션 관리에 사용되는 쿠키의 수명을 제어할 수 있습니다.


한 줄 요약

MaxAge현재로부터 상대적인 초 단위, Expires절대적인 만료 일시로 쿠키 수명을 지정합니다. 둘 다 설정하지 않으면 세션 쿠키가 되어 브라우저를 닫으면 사라집니다.

Categories:

Updated: