강의

멘토링

로드맵

Inflearn brand logo image

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

김옥윤님의 프로필 이미지
김옥윤

작성한 질문수

기출로 대비하는 개발자 전공면접 [CS 완전정복]

Q. HTTP가 뭔지 설명해 주세요.

http

작성

·

29

0

http의 큰 특징인 connectionless랑 stateless 좀 설명 부탁드립니다.

답변 1

0

개발남노씨님의 프로필 이미지
개발남노씨
지식공유자

안녕하세요 옥윤님.

 

강의에서 설명드렸듯이 connectionless, stateless 에 대한 설명은 다음과 같습니다.

 

HTTP는 서버에 연결 후 요청에 응답을 받으면 연결을 끊어버리는 Connectionless 특성을 갖습니다. 이로 인해 많은 사람이 웹을 이용하더라도 실제 동시 접속을 최소화하여 더 많은 유저의 요청을 처리할 수 있습니다. 하지만 연결을 끊었기 때문에, 클라이언트의 이전 상태(로그인 유무 등)를 알 수가 없다는 Stateless 특성이 생기게 됩니다. 정보를 유지할 수 없는 Connectionless, Stateless 특성을 가진 HTTP의 단점을 해결하기 위해, cookie, session, jwt 등이 도입되었습니다.

 

이를 좀더 풀어서 설명해보면,

클라이언트와 서버와 HTTP 통신을 한번 하면, 그 연결은 더이상 지속되지 않고 그걸로 끝입니다.

연결이 유지되고 있는게 아닙니다. 그래서 connectionless라고 부릅니다.

 

그러다보니까, 내가 HTTP 통신을 통해 아이디 비밀번호를 입력해서 로그인을 했다고 하더라도, 그 다음번 http request를 보내도 이게 나인지 누군지 알 수 없습니다.(stateless)

 

이를 해결하기 위해서 cokie, session, jwt 등에 '나 로그인 통과된 사람이야' 라는 정보를 넣고 통신을 하기도 합니다.

 

정리:

http 통신 입장에서만 보면, 5분전에 클라이언트가 서버랑 http 통신을 했다고 해서 지금도 서버랑 연결되어있는게 아니다.- connectionless

그러다보니, 지금 request보낸 이 client가 로그인이 되어있는지 안되어있는지 어떤 상태인지 알 수 없다. -stateless

 

혹시 답변이 됐을까요~?

궁금한게 있으면 또 질문 주세요. 감사합니다.

 

김옥윤님의 프로필 이미지
김옥윤

작성한 질문수

질문하기