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

정동희님의 프로필 이미지

작성한 질문수

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

Stateful, Stateless

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

23.12.27 23:11 작성

·

360

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님의 프로필 이미지

2023. 12. 28. 20:46

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

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

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

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

감사합니다.

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

2023. 12. 29. 10:26

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

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

image

David님의 프로필 이미지

2023. 12. 30. 00:37

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

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

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

2023. 12. 30. 02:13

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

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

라고 보면 될까요?

David님의 프로필 이미지

2023. 12. 30. 18:52

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

0

인프런 AI 인턴님의 프로필 이미지

2023. 12. 27. 23:16

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

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

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