• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    해결됨

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

23.03.17 00:12 작성 조회수 693

0

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

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

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

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

답변 1

답변을 작성해보세요.

0

codesweaver님의 프로필

codesweaver

2023.03.17

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

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

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

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

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

감사합니다.

jyunimyon님의 프로필

jyunimyon

질문자

2023.03.17

답변 감사합니다