-
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를 사용
반응형'Study(진행중) > 항해99' 카테고리의 다른 글
99클럽 코테 스터디 30일차 TIL / 잃어버린괄호(백준) (0) 2024.08.20 99클럽 코테 스터디 29일차 TIL / MongoDB, Postgres, MariaDB 차이점 (0) 2024.08.19 99클럽 코테 스터디 27일차 TIL / TCP & UDP 차이 (0) 2024.08.18 99클럽 코테 스터디 26일차 TIL / 개인정보 수집 유효기간(프로그래머스) (0) 2024.08.17 99클럽 코테 스터디 25일차 TIL / 순위(프로그래머스) (0) 2024.08.16