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

정동희님의 프로필 이미지
정동희

작성한 질문수

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

Stateful, Stateless

무상태 프로토콜 을 제대로 이해한건지 모르겠습니다

작성

·

375

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

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

[질문 내용]
Stateless 의 대표적인 예 는 쿠키 이며 Stateful 의 대표적인 예는 세션 이라고 이해를 했습니다.

그렇다고 한다면 여기서 궁금증이 생깁니다. HTTP 는 기본적으로 stateless 이며 HTTP 요청은 이전 요청과 상관없이 독립적으로 처리되는데 HTTP 는 통신 프로토콜 중 하나가 아닌가요?
세션 또한 서버와 통신을 해야 데이터를 받아 오고 HTTP 통신을 통해 데이터를 받아올 텐데 세션의 정의가 뭔가 모호해진거 같습니다.

답변 2

0

안녕하세요. 정동희님, 공식 서포터즈 David입니다.

stateless, stateful을 잘못 이해하신 것 같습니다.

stateless인 HTTP를 통해 통신할 경우 상태를 유지하기 위해 쿠키나 세션 등이 사용됩니다.

본 편 9분 37초부터 확인해주세요:)

감사합니다.

정동희님의 프로필 이미지
정동희
질문자

영상속 Stateful 상태를 설명하실때 클라이언트 A 가 중계서버를 거치고 통신을 할때 서버 1하고만 통신을 하는데 이미 한번 받은 Session 키 는 해당 서버에서 발급 받은 곳에서만 사용 가능하기 때문에 서버의 확장성 면이나 이런 부분에서 쿠키 와 비교된다고 알고 있습니다.

그렇기 때문에 저는 Stateful 은 Session 의 대표적인 예 라고 생각했습니다.

image

발급 받은 세션 키를 쿠키에 보관하고 있으며 이를 서버에 요청과 함께 보내어 클라이언트를 식별하며 상태를 유지하게 됩니다.

따라서, 세션과 쿠키가 대조되는 것은 아닙니다.

정동희님의 프로필 이미지
정동희
질문자

친절한 답변 감사합니다.
결론적으로 HTTP 통신은 기본 stateless 한 통신이며 stateless 한 상황에서 로그인 구현 등 과 같은 인증 에 대한 문제가 존재하고 이를 해결하기 위한 방법으로 세션 과 쿠키 라는 개념이다.

그리고 Stateful 의 대표적인 예시는 TCP 통신 이다.

라고 보면 될까요?

네, 그렇게 보셔도 됩니다🙂

0

안녕하세요, 인프런 AI 인턴입니다.

정동희님의 질문에 대한 답변으로, ‘Stateful과 Stateless의 차이’에 대해 이해하고 계신 내용이 맞는지 확인하시려면, 다음의 인프런 게시글을 참고하실 수 있습니다.

이 게시물들에서는 Stateless의 개념과 HTTP 프로토콜에서의 Stateless와 Session의 관계에 대한 설명이 있으며, 세션과 쿠키에 대한 이해도 돕고 있습니다. 추가적인 궁금증 해소에 도움이 되길 바랍니다.

정동희님의 프로필 이미지
정동희

작성한 질문수

질문하기