ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 99클럽 코테 스터디 28일차 TIL / TCP & HTTP 차이점
    Study(진행중)/항해99 2024. 8. 18. 20:24

    오늘의 학습 키워드

       - CS

    공부한 내용 본인의 언어로 정리하기

    TCP / HTTP 차이점

     

    요약

    • TCP는 데이터를 신뢰성 있게 전송하는 역할을 하는 전송 계층 프로토콜
    • HTTP는 웹 클라이언트와 서버 간에 데이터를 주고받기 위한 애플리케이션 계층 프로토콜이며, 데이터를 전송할 때 TCP를 사용

    1) 계층에서의 차이

    • TCP
      • 전송 계층에 속하는 프로토콜입니다. TCP는 데이터를 안전하게 전송하는 역할.
      • 데이터를 패킷으로 나누어 전송하고, 이 패킷들이 손실되거나 손상되지 않도록 확인하며, 순서대로 전달되었는지 확인
    • HTTP
      • 애플리케이션 계층에 속하는 프로토콜.
      • 웹 브라우저와 웹 서버 간의 통신 규칙을 정의하는 프로토콜
      • 웹 페이지와 같은 리소스를 요청하고 전송받는 데 사용

    2) 기능적 차이

    • TCP
      • 데이터 전송을 위한 기본적인 메커니즘 제공
      • TCP는 데이터의 안정적인 전송을 보장하기 위해 연결 설정, 오류 감지 및 수정, 흐름 제어 등의 기능 수행
      • TCP는 데이터가 어떤 내용인지에 대해서는 알지 못하며, 단순하게 데이터 패킷을 정확하게 전달하는 역할
    • HTTP
      • HTTP는 클라이언트(웹 브라우저)와 서버(웹 서버) 간의 데이터 요청 및 응답 방식을 정의하는 프로토콜
      • HTTP는 주로 웹 페이지, 이미지, 비디오 등의 리소스를 주고받는 데 사용
      • 텍스트 기반의 명령어(예: GET, POST)를 통해 클라이언트가 서버에 요청을 보내고, 서버가 그에 대한 응답을 돌려줌
      • HTTP는 데이터를 전송하는 방식을 정의하며, 이때 TCP를 사용하여 데이터가 안전하게 전송되도록 함

    3) 연결 방식

    • TCP
      • 연결 지향적 프로토콜
      • 클라이언트와 서버 간에 연결을 설정한 후(3-way handshake) 데이터를 주고받음
      • 연결이 지속되는 동안 데이터 전송이 이루어지며, 모든 데이터가 성공적으로 전송되었는지 확인
    • HTTP
      • HTTP/1.x는 기본적으로 요청/응답 방식으로 동작
      • 클라이언트가 서버에 요청을 보낼 때마다 TCP 연결을 설정하고 응답을 받은 후 연결을 종료합니다.
      • HTTP/1.1부터는 지속 연결(persistent connection)을 지원
      • 동일한 TCP 연결을 여러 요청/응답에 재사용 가능
      • HTTP/2와 HTTP/3에서는 이러한 연결 재사용 및 성능 개선

    4) 사용 목적

    • TCP
      • 데이터 전송의 신뢰성과 안정성을 보장하는 데 중점
      • 데이터를 패킷 단위로 쪼개어 전송, 전송 중 손실된 패킷이 있으면 이를 재전송
      • 파일 전송, 이메일, 원격 접속 등 다양한 네트워크 애플리케이션에서 사용
    • HTTP
      • 주로 웹 애플리케이션에서 사용
      • 웹 페이지와 리소스를 클라이언트에게 전달하는 데 중점
      • HTTP는 텍스트 기반 프로토콜로, 주로 하이퍼텍스트(HTML), 이미지, 동영상 등의 리소스를 전송하는 데 사용

    5) 종속 관계

    • TCP
      • HTTP는 TCP 위에서 동작하며 HTTP와 같은 애플리케이션 계층 프로토콜의 전송 담당
      • TCP를 통해 데이터가 신뢰성 있게 전송되도록 함
      • 따라서 HTTP는 TCP의 기능을 활용하여 웹 데이터를 전송하는 방식
    • HTTP
      • TCP를 기반으로 동작하지만 TCP와는 별개의 상위 프로토콜
      • 웹 클라이언트와 서버 간의 요청 및 응답 형식과 의미를 정의하고 요청/응답 데이터를 전송하기 위해 TCP를 사용
    반응형

    댓글

Designed by Tistory.