• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

세션 이름(name)은 무엇이고, 어떤 역할을 하나요?

23.11.03 01:33 작성 조회수 287

0


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

[질문 내용]
강의에서 등장한 두 용어(세션 아이디, 세션 이름)의 관계가 헷갈립니다.

제가 이해한 바론, 세션 id는 클라이언트의 쿠키에 담아주는 랜던한 값으로, 해당 값으로 서버에서 세션을 찾습니다. 톰캣에선 jsessionid라는 이름으로 사용됩니다.

그러나 강의에서 loginMember이란 이름으로 세션 name이 등장합니다. 어차피 세션 id로 세션을 식별할 수 있을텐데, 굳이 세션 이름이 존재하는 이유가 무엇일까요? 하나의 세션에 여러 정보를 담을 수 있고, 그 정보들을 식별하기 위한 식별자의 역할을 하는 걸까요?

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.11.05

안녕하세요 김동민님, 인프런 AI 인턴이에요.

  1. 해당 질문은 강의 내용과 관련된 질문입니다. (예)

  2. 인프런의 질문 게시판과 자주 하는 질문에는 해당 내용이 없습니다. (예)

  3. 질문 잘하기 메뉴얼을 읽어보지 않았습니다. (아니오)

강의에서 사용되는 “세션 아이디”와 “세션 이름”은 서로 다른 개념입니다. “세션 아이디”는 클라이언트가 접속할 때 서버에서 생성한 랜덤한 값으로, 이를 사용하여 서버에서 해당 사용자의 세션을 식별합니다. 클라이언트는 “세션 아이디”를 쿠키에 담아서 서버로 전달합니다.

반면에 “세션 이름”은 개발자가 정의하는 값으로, 세션에 담긴 정보를 식별하기 위한 용도로 사용됩니다. 세션은 클라이언트의 요청에 따라 동적으로 생성되고, 그 안에는 다양한 정보들이 담길 수 있습니다. “세션 이름”을 사용하여 특정 정보를 찾거나 설정할 수 있습니다.

따라서, 세션 이름은 세션에 담긴 정보들을 구분하기 위한 역할을 합니다. 하나의 세션에 여러 정보를 담는 경우, “세션 이름”을 통해 각 정보를 식별할 수 있습니다.
강의에서 사용된 “loginMember”는 세션에 저장된 회원 정보를 식별하기 위한 세션 이름일 수 있습니다.

이렇게 세션 아이디와 세션 이름은 서로 다른 역할을 가지고 있으며, 세션 이름은 세션에 담긴 정보들을 구분하기 위한 용도로 사용됩니다. 감사합니다!