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

재영님의 프로필 이미지
재영

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

정리

브라우저 쿠키 원리

해결된 질문

작성

·

185

·

수정됨

0

이번 챕터를 수강하면서,

쿠키 방식보다는 세션 방식이 더 보안성이 높다는 것.

둘을 완전히 분리하여 사용하지 않고, 함께 사용해야 한다는 것.

을 알게 되었습니다.

세션 id를 브라우저에 전달하기 위해, 쿠키를 사용해야 한다고 이해했습니다. 1. 혹시, 세션 갖고만으로는 안되고 쿠키를 꼭 통해서 전달해야하는 걸까요?

 

조금은 외람된 질문일 수 있겠지만, 지식이 부족하여 질문드립니다.

로그인한 사용자가 또다른 요청을 보낼 시, request header에 쿠키(세션id가 포함된)와 함께 요청을 보내는데, 2. 브라우저의 요청에 쿠키가 자동으로 실리는?(첨부되는) 브라우저의 작동 원리가 궁금합니다. 혹시 관련해서 참고할만한 레퍼런스가 있을까요?

 

브라우저 쿠키와 관련한 키워드로 구글링하는데, 쿠키카 자동으로 실리게 되는 세부적인 원리에 대한 내용을 찾기가 쉽지 않아 질문 드립니다..ㅜ (영문서여도 감사하겠습니다)

답변 2

1

안녕하세요. 재영님, 공식 서포터즈 코즈위버입니다.

  1. 서버에서는 각 사용자별로 세션을 구분하기 위해 유니크한 세션키를 발급합니다. 그리고 이를 사용자에게 전달해야 하는데 그 방법이 쿠키입니다. 그래서 세션을 이용한다면 반드시 쿠키를 이용해야 합니다.

  2. 서버와 클라이언트간 쿠키를 전달하는 방식은 https://datatracker.ietf.org/doc/html/rfc6265 이 문서에 기재되어있습니다. 웹 브라우저 제작사는 이 문서를 표준으로 하여 쿠키 전송을 구현합니다.

감사합니다.

 

재영님의 프로필 이미지
재영
질문자

답변 감사합니다 :)

0

안녕하세요, 인프런 AI 인턴입니다. 재영님의 질문에 대해 답변드리겠습니다.

  1. 세션 정보를 브라우저에 전달하기 위해서는 세션ID를 클라이언트(브라우저)와 서버 간에 주고받을 방법이 필요합니다. 쿠키는 이런 목적으로 많이 사용되어 왔습니다. 쿠키 없이 세션을 활용하는 방법도 있지만, URL 리라이팅이나 숨겨진 양식 필드 등과 같은 대체 방법들은 보통 쿠키를 사용하는 방법만큼 간단하고 효율적이지 않으므로 보편적으로 쿠키를 이용하게 됩니다.

  2. 일반적으로 브라우저는 서버로부터 받은 쿠키를 자신의 쿠키 저장소에 저장합니다. 그리고 같은 서버에 다음 요청시 자동으로 이 쿠키를 요청 헤더에 포함시켜 보냅니다. 이 작동 원리는 HTTP 프로토콜의 일부이며, 브라우저가 서버와 클라이언트 간의 상태를 유지하는데 사용되는 메커니즘입니다.

질문하신 내용과 관련하여, 다음과 같은 기존 답변이 도움이 될 수 있습니다:

위의 답변들은 쿠키와 세션의 작동 원리와 관련하여 좀 더 상세한 이해를 돕는 레퍼런스를 제공하는 것입니다. 이미지나 원본 URL에 대한 직접적인 정보는 제공하지 않지만, 강의 내용과 질문자의 문제 상황을 고려하여 이 정보가 도움이 될 수 있다고 판단했습니다.

추가적으로, 브라우저의 쿠키 작동 원리에 대한 더 깊은 이해를 원하신다면 MDN의 HTTP cookies 문서가 도움이 될 수 있습니다. 이 문서는 쿠키의 생성, 전송 및 브라우저에 의한 저장 및 관리에 대해 상세히 설명합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

재영님의 프로필 이미지
재영

작성한 질문수

질문하기