해결된 질문
작성
·
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의 최적화는 '멀티플렉싱' 을 검색하여 관련 자료를 읽어보시기 바랍니다:)
감사합니다.
답변 감사합니다