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

공태성지능으로고상언짓하기님의 프로필 이미지
공태성지능으로고상언짓하기

작성한 질문수

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

비 연결성(connectionless)

tcp와 http에 대해 질문 드립니다.

해결된 질문

작성

·

823

0

강의와 이전 질문들을 토대로

클라이언트와 서버가 먼저 TCP 3-way 연결을 하고 완료가 되면 http 요청과 응답을 주고받는 다고 이해하였습니다.

그런데 http는 기본이 연결을 유지하지 않는 모델로 한 번 요청과 응답이 끝나면 연결이 끊긴다고 하셨는데요,그럼 http 연결이 끊길 때 때 TCP/IP 연결까지 끊는 것인가요? 그래서 요청을 보내고 싶을때마다 TCP 연결을 다시 해야하는 것이 한계인건가요?

또한 최적화로 지속 연결을 한 HTTP/2 같은 경우엔 TCP/IP 연결을 끊지 않는건가요?

답변 1

0

안녕하세요, jyunimyon 님! 공식 서포터즈 codesweaver 입니다.

HTTP는 TCP/IP 통신에 추가적인 헤더를 붙인 응용 프로토콜이며 내부 통신은 TCP를 사용합니다. 그러니 TCP의 동작에 대해 이해하시면 됩니다.

서버와 클라이언트가 '연결'되었다는 건 논리 개념으로, 3 way handshake 과정을 거치면 서로 연결된것으로 간주하고, 한 쪽이 종료요청을 보내고 양측이 (서버와 클라이언트) 종료 완료 신호를 주고받으면 연결이 끊깃것으로 간주합니다.

여기서 종료 신호를 고의적으로 늦추면, 연결이 지속되는 것으로 간주되어 3 way handshake를 하지 않아도 되겠지요? 그만큼 효율적인 통신을 할 수 있습니다.

HTTP 2.0의 최적화는 '멀티플렉싱' 을 검색하여 관련 자료를 읽어보시기 바랍니다:)

감사합니다.

답변 감사합니다

공태성지능으로고상언짓하기님의 프로필 이미지
공태성지능으로고상언짓하기

작성한 질문수

질문하기