[기술면접] Cookie의 MaxAge, Expires

한재창·2023년 4월 4일
0
post-thumbnail

Cookie의 MaxAge, Expires 옵션이 무엇인지, 설정하지 않으면 어떻게 되는지 설명해주세요.

쿠키(Cookie)의 MaxAge와 Expires는 쿠키가 유효한 기간을 설정하기 위한 옵션입니다.
MaxAge는 쿠키의 유효 기간을 초 단위로 설정하는데, 만료 시간이 지나면 쿠키가 삭제됩니다. 만약 MaxAge가 설정되면, Expires는 무시됩니다.
Expires는 쿠키의 만료일자를 날짜 형식으로 설정하는데, 만료일이 지나면 쿠키가 삭제됩니다. Expires는 GMT(Greenwich Mean Time) 시간대로 설정되어야 하며, 만료일이 현재 시간보다 이전이면 쿠키는 삭제됩니다.
만약 MaxAge와 Expires 둘 다 설정하지 않으면, 쿠키는 현재 브라우저 세션(session)에서만 유효합니다. 브라우저 세션이 끝나면 쿠키가 삭제됩니다. 이 경우 쿠키는 브라우저 메모리에 저장되며, 브라우저를 닫으면 쿠키가 모두 삭제됩니다.
따라서, 쿠키를 보다 오래 유지하려면 MaxAge나 Expires를 설정해야 하며, 쿠키를 지속적으로 유지하려면 쿠키를 설정할 때 MaxAge나 Expires를 적절히 설정해주는 것이 중요합니다.

쿠키(Cookie)는 웹 브라우저에서 사용자의 컴퓨터에 저장되는 작은 텍스트 파일입니다. 쿠키는 서버에서 생성되고, 브라우저에 의해 저장되며, 다음 요청에서 서버로 전송됩니다. 쿠키에는 이름, 값, 만료일 등의 정보가 저장됩니다.

쿠키의 만료일을 설정하는 방법으로 MaxAge와 Expires 두 가지 옵션이 있습니다.

MaxAge

쿠키(Cookie)의 MaxAge는 쿠키의 유효기간을 초 단위로 설정하는데 사용됩니다. 이 값은 쿠키가 유효한 시간을 나타내며, 설정된 시간이 지나면 쿠키가 만료됩니다.

예를 들어, MaxAge에 3600을 설정하면 쿠키는 1시간 동안 유효합니다. 만약 MaxAge를 -1로 설정하면 쿠키는 현재 세션(Session)에서만 유효하며, 브라우저를 닫으면 삭제됩니다.

MaxAge를 설정하지 않으면, 쿠키는 현재 세션(Session)에서만 유효합니다. 브라우저를 닫으면 쿠키가 삭제됩니다.

MaxAge가 설정되면, Expires는 무시됩니다. 따라서 MaxAge를 사용하여 상대적인 시간을 기반으로 쿠키 만료 시간을 설정하는 것이 좋습니다.

MaxAge는 일반적으로 서버에서 사용자를 추적하거나, 사용자 지정 환경 설정을 유지하는 데 사용됩니다. 하지만 보안과 관련된 정보는 쿠키에 저장하는 것이 적합하지 않으므로 주의해야 합니다.

Expires

쿠키(Cookie)의 Expires는 쿠키의 만료일을 날짜 형식으로 설정하는데 사용됩니다. 만료일이 지나면 쿠키가 삭제됩니다.

Expires는 GMT(Greenwich Mean Time) 시간대로 설정되어야 하며, 만료일이 현재 시간보다 이전이면 쿠키가 삭제됩니다. 예를 들어, Expires에 Tue, 30 Apr 2023 23:59:59 GMT와 같은 값을 설정하면, 쿠키는 해당 날짜 이후로 유효합니다.

하지만 Expires는 날짜 형식으로 설정되어야 하므로 서버와 클라이언트 간의 시간 차이 때문에 예상치 못한 결과를 가져올 수 있습니다. 따라서 최근에는 MaxAge를 사용하여 쿠키의 유효기간을 설정하는 것이 더 일반적입니다.

Expires는 일반적으로 과거에는 많이 사용되었지만, 최근에는 MaxAge를 사용하여 상대적인 시간을 기반으로 쿠키 만료 시간을 설정하는 것이 더 일반적입니다.

profile
취준 개발자

0개의 댓글

Powered by GraphCDN, the GraphQL CDN