인프런 커뮤니티 질문&답변

짱구님의 프로필 이미지
짱구

작성한 질문수

모든 개발자를 위한 HTTP 웹 기본 지식

쿠키 강의 중 => 쿠키의 생명주기에 관해 질문 있습니다.

해결된 질문

작성

·

1.1K

2

안녕하세요~ 쿠키 강의를 듣다가 궁금한 점이 있어서  질문 드립니다.

질문 1) 

강의 중에 Set-Cookie에 max-age로 0이나 음수를 지정하면, 쿠키가 삭제된다고 하셨는데요.

 Set-Cookie가 클라이언트에 도착하자마자 브라우저에 저장되기도 전에 삭제된다는 말씀인가요??

정확히 어느 시점에서 쿠키가 삭제되고, 언제 이런 방식으로 사용하는지 궁금합니다.

 

질문 2)

구글에 검색해보니까, expires와 max-age 중에서 max-age가 우선순위를 갖는다고 하는데요.

그럼에도, 쿠키에 expires와 max-age를 둘다 설정해놓고 사용하는 경우가 있나요??

제 생각에는 장기간으로 설정할 꺼면,  expires 하나면 설정하면 되고,

단기간 사용하고 없앨 거라면, max-age 하나만 설정하면 될 것같은데,

예제 코드 몇 개 보다보니까 2가지를 다 설정하는 경우도 보이더라구요.

어차피 max-age 만료되면, 없어질 텐데, 왜 구지 쿠키에 expires까지 설정하는지 궁금합니다.

 

감사합니다 ~ :)

답변 1

3

안녕하세요. 짱구님, 공식 서포터즈 David입니다.

1. 즉시 쿠키를 만료시켜야 하는 경우에 사용될 수 있습니다. 굳이 예를 들자면, 자동로그인 여부와 관련된 쿠키를 발급받았는데, 사용자는 더이상 자동로그인을 유지하고 싶지 않아 로그아웃을 했습니다. 로그아웃과 동시에 자동로그인과 관련된 쿠키를 만료시키려면 위와 같은 방법을 사용해야 합니다.

2. 하위 호환성을 유지하기 위해 expires를 같이 써줍니다.

감사합니다.

 

 

짱구님의 프로필 이미지
짱구
질문자

혹시,  " 하위 호환성 " 을 유지하기 위해서 라는 말씀이 무슨 뜻인지 부연 설명 부탁드려도 될까요??

일부 오래된 브라우저(http 1.0만 지원하는)의 경우 max-age를 지원하지 않습니다. 그래서 하위호환성을 위해 expires를 같이 써줍니다.

아래 글을 참고해주세요:)

https://www.fir3net.com/Networking/Protocols/http-caching-http-1-0-vs-http-1-1.html#:~:text=The%20caching%20mechanism%20within%20HTTP,deemed%20invalid%20by%20the%20cache.

짱구님의 프로필 이미지
짱구

작성한 질문수

질문하기