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

11 1님의 프로필 이미지
11 1

작성한 질문수

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

쿠키

로그인했을 때와 안 했을 때의 쿠키 방식

해결된 질문

작성

·

359

·

수정됨

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

질문이 많아서 죄송합니다.

쿠키에 대해 몇 가지 궁금한 점이 있습니다.

아래 질문들에서 말하는 사이트는 쿠팡이나 아마존 같은 이커머스 사이트이며, 사이트는 사용자의 쿠키를 참고하여 사용자에게 물건을 추천하는 알고리즘이 있는 상태라고 가정하겠습니다.

 

질문1)

로그인을 하지 않은 상태에서 특정 사이트에 접속했을 때도 쿠키가 생길 수 있는지 궁금합니다. 즉, 로그인을 하지 않은 채로 사이트를 처음 방문하고, 며칠 후에 다시 로그인을 안 한 채로 방문했을 때, 이전에 받은 쿠키가 적용되어서 이전에 구경했던 물건들을 토대로 관심 있는 물건 추천 알고리즘이 적용되도록 가능한지 궁금합니다. 애초에 로그인을 하지 않아도 쿠키가 발급되는지 자체가 궁금합니다.

 

질문2)

이번엔 다른 예로, 특정 사이트에 로그인했는데, 사이트를 구경하다가 브라우저를 끕니다. 다시 브라우저를 켜서 그 사이트를 방문하면 로그인이 풀려 있습니다. 하지만 사이트를 구경하는 동안엔 로그인이 유지되어 있으니 이것도 쿠키의 예라고 보면 될까요? 강의 내용대로면 세션 쿠키 같은데 아래 질문들이랑 비교하고 싶어서 일단 질문드립니다.

 

질문3)

이번엔 특정 사이트에 자동 로그인을 했습니다. 브라우저를 끄고 며칠 후에 다시 사이트에 접속해도 로그인이 자동으로 되어 있습니다. 이 경우에도 쿠키가 적용된 거로 보면 될까요? 이건 영속 쿠키인가요? 다만 자동 로그인을 해제하지 않는다고 하면 expires를 어떻게 설정할지.. 궁금하네요.

질문4)

제가 가장 궁금한 건데, 첫 번째 질문대로 로그인을 안 해도 쿠키가 생길 수 있는 게 맞다면, 로그인을 안 해도 제 컴퓨터에 쿠키가 발급될 텐데, 자동 로그인을 해도 제 사이트 계정에 해당하는 쿠키가 있을 수 있는 거죠? 그럼 이 경우에 1) 로그인과 별개로 제 컴퓨터에 해당하는 쿠키와 2) 제 사이트 계정에 해당하는 쿠키 2가지가 동시에 생기는 건가요?

 

질문5)

질문 4의 경우처럼 제 컴퓨터와 제 사이트 계정 각각에 대해 쿠키가 발급된다면, 제가 그 사이트를 방문한 후 로그인을 한 상태에선, 사이트에서 저에게 물건을 추천하는 알고리즘이 어떤 쿠키를 참고해서 추천하는지 궁금합니다.

1) 2가지 쿠키 모두 적용된다

2) 로그인한 동안엔 계정에 대한 쿠키만 적용되고, 로그인을 풀었을 때는 제 컴퓨터에 대한 쿠키만 적용된다.

 

어떤 게 맞나요?

답변 2

1

안녕하세요. 11 1님, 공식 서포터즈 y2gcoder입니다. AI 답변에 더하여 답변 드립니다.

구현 방식은 다양하기 때문에 어떤게 정답이라고 말씀드리기 어렵습니다!

질문 1) 로그인을 하지 않아도 해당 사이트의 구동 방식에 따라 어떤 임의의 값을 쿠키로 저장할 수 있습니다:) chrome console의 application 탭에서 cookies를 연 채로 한 번 여러 페이지에 접속해보시겠습니까?

질문 2) 구현방식에 따라 다르겠으나 서버의 세션, 혹은 브라우저의 세션 스토리지를 사용했을 수도 있습니다 :)

질문 3) 영속 쿠키를 설정하지 않는다면, 쿠키의 제한 시간 이 지나기 전에 로그인을 한다면 다시 로그인 정보가 담긴 쿠키를 발급해주는 식으로 개발할 수도 있을 것 같습니다 :)

질문 4) 이 또한 구현에 따라 다릅니다. 말씀하신대로 구현했을 수도 있고, 하나의 쿠키에 모두 담았을 수도 있습니다.

질문 5) 둘 다 적용해서 비로그인 기록 때의 정보까지 포함해서 추천해줄 수도 있고, 로그인 쿠키만 가지고 유저 의 활동 정보를 가져와서 추천해줄 수도 있을 것 같습니다!

 

감사합니다.

11 1님의 프로필 이미지
11 1
질문자

자세한 설명 감사합니다!

11 1님의 프로필 이미지
11 1
질문자

질문3에 대한 답변에 대해 궁금한 점이 있습니다.
영속 쿠키를 설정하지 않는다는 건, 만료 날짜를 설정하지 않은 세션 쿠키를 의미하는 게 맞나요?

세션 쿠키는 브라우저가 종료되기 전까지 유지되니, 그동안은 제한 시간 없이 자동 로그인이 유지될 테고 로그인을 다시 할 필요는 없지 않나요? 브라우저를 끄고 다시 킬 땐 로그인을 다시 해야 하니 자동 로그인이 안 될 것 같은데 이 부분 잘 이해가 안 갑니다.

죄송합니다 제가 영속 쿠키의 개념을 혼동해서 말씀을 드렸습니다.

강의에 나온대로 영속 쿠키는 만료 날짜를 설정한 쿠키로 브라우저를 닫고 다시 열어도 만료시간이 지나지 않았다면 그대로 유지 되는 쿠키를 말합니다.

이에 따라 질문 3번에 다시 답변을 드리자면 자동 로그인 시에는 로그인한 날짜로부터 1년 뒤를 만료일자로 설정한 영속 쿠키를 설정하고, 로그인할 때마다 이 영속 쿠키 만료일자를 갱신하는 방향으로 설정한다면 유저 입장에서는 마치 로그인이 계속해서 유지되는 듯한 자동 로그인 설정이 가능할 것으로 보입니다!

이해에 혼동을 드려 죄송합니다 ㅜ

11 1님의 프로필 이미지
11 1
질문자

아 그러면 만료 날짜가 365일 후인 영속 쿠키가 설정되었을 때 유저가 400일 동안 컴퓨터의 전원조차 키지 않았다면(즉, 그 사이트를 방문조차 안 했다면) 400일 이후에 그 사이트를 방문하면 자동 로그인이 풀려 있을 거라고 생각해도 되겠네요.

 

답변 감사합니다!

맞습니다! 파이팅입니다!

0

안녕하세요 11 1 님, 인프런 AI 인턴이에요.

로그인을 하지 않은 상태에서 특정 사이트를 처음 방문하면, 일반적으로는 해당 사이트에서 쿠키를 발급받지 않습니다. 그러나 몇몇 사이트는 방문을 추적하거나 사용자 경험을 개선하기 위해 익명의 쿠키를 사용하기도 합니다.

로그인을 한 상태에서 사이트를 구경한 뒤, 브라우저를 종료하고 다시 해당 사이트를 방문하면 일반적으로 로그인 세션이 유지되지 않습니다. 이는 세션 쿠키가 브라우저를 종료하면 삭제되기 때문입니다.

자동 로그인 기능을 사용하는 경우, 일반적으로 영속 쿠키를 사용하여 로그인 상태를 지속시킵니다. 이 경우에는 브라우저를 종료하더라도 로그인이 유지됩니다.

질문 4의 경우, 로그인과 관련된 쿠키는 제 컴퓨터에 저장되지 않고, 해당 사이트에서 발급한 쿠키만 저장됩니다. 따라서 2) 로그인한 동안에는 제 컴퓨터에 대한 쿠키가 아닌 계정에 대한 쿠키만 적용됩니다.

질문 5의 경우, 로그인한 상태에서는 제 사이트 계정에 대한 쿠키를 참고하여 물건을 추천하는 알고리즘이 적용됩니다.

답변이 도움이 되셨는지요? 더 궁금한 사항이 있으시면 언제든지 질문해주세요. 감사합니다!

11 1님의 프로필 이미지
11 1

작성한 질문수

질문하기