ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TCP vs HTTP
    CS 2024. 6. 22. 05:03

    우리 삶의 필수적인 부분이 된 인터넷에서는 다양한 활동을 통해 매일 같이 방대한 양의 데이터를 주고받고 있다.

    TCP와 HTTP는 이러한 데이터들의 안전과 효율적인 전송을 도와주는 프로토콜이다.

     

    이 둘에 대해서 자세하게 알아보도록 한다.


    OSI 7 계층

    일단 TCP와 HTTP를 알기 위해선, OSI 7 계층에 대한 지식이 필요하다.

     

    네트워크에서는 데이터 전송을 위해, 데이터에 헤더를 붙인 패킷을 이용하는데,

    여기서 패킷이란 유저가 데이터를 전송할 때 전송하는 데이터에 각 계층별로 헤더가 붙어서 생긴 네트워크 전송 데이터이다.

     

    각 계층별로 헤더가 붙는 이유는 각 계층에서 맡은 역할에 따라 데이터를 압축하거나 암호화/복호화 등의 데이터 정제를 헤더에 맞게 하기 위함이다.

    TCP?

    TCP는 전송제어 프로토콜이라는 뜻으로, 데이터를 안정적으로 전송하기 위한 책임을 담당한다.

     

    마치 우체부가 편지를 보내는 것처럼, TCP는 보내는 측과 받는 측 사이에 통신 연결을 구축하고, 데이터 손실 없이 정확하게 데이터를 전달하도록 보장한다.

     

    TCP는 연결지향적인 프로토콜이기에, 종단간 두 호스트가 연결 상태를 유지해야 하며, 3 way handshaking 과정을 통해 응용 프로그램에서 데이터를 안전하고 정확하게 전송하기 위해 상대 컴퓨터와 사전에 세션을 수립한다. 그리고 전송된 데이터가 순서대로 도착하지 않았을 경우, 데이터의 순서가 잘못되어 데이터 변형의 우려가 있는데, 이를 방지하기 위해 각 데이터에 순서 번호를 붙인다.

     

    HTTP?

    HTTP는 하이퍼텍스트 전송 프로토콜이라는 뜻으로, 웹 서버와 웹 브라우저 간의 통신을 위한 표준 프로토콜이다.

     

    웹사이트를 방문하면 웹 브라우저는 HTTP를 통해 웹 서버에 요청을 보내고, 웹 서버는 HTTP를 사용하여 웹 페이지와 이미지, 동영상 등의 콘텐츠를 브라우저에 전송한다.

     

    HTTP는 TCP와 다르게 호스트 요청에 다른 호스트가 응답하는 단방향 통신으로 두 호스트 간의 연결을 유지하지 않는다. 요청을 한 호스트가 응답을 받은 후에 종료되는 stateless 연결 방식인 점이 TCP와의 차이라고 볼 수 있다.

     

    TCP와 HTTP 비교

      TCP HTTP
    역할 안정적인 데이터 전송 웹 콘텐츠 전송
    통신 방식 연결 지향 비연결 지향
    데이터 단위 세그먼트 메시지
    오류 제어 CRC 검사, 재전송 상태 코드
    응용분야 파일 전송, 이메일, 온라인 게임 웹 브라우징, 온라인 쇼핑, 소셜 미디어

    결론

    TCP와 HTTP는 인터넷 통신의 기본적인 원리를 이해하는 데 필수적인 프로토콜이다. 

     

    TCP는 우체부처럼 안전하게 데이터를 전달하는 역할을 하고, HTTP는 웹 서버와 웹 브라우저 간의 통신을 표준화하여 웹 콘텐츠를 효율적으로 전달하는 역할을 한다.

     

    두 프로토콜의 협력으로 웹사이트 방문, 온라인 게임, 파일 전송 등 다양한 인터넷 활동을 가능하게 하는 것이다.

    'CS' 카테고리의 다른 글

    브라우저 Reflow과 Repaint  (0) 2024.07.09
    브라우저 렌더링 과정  (0) 2024.07.03
    CDN(Content Delivery Network)?  (0) 2024.06.22
    DNS(Domain Name System)?  (0) 2024.06.19
    HTTP/HTTPS?  (2) 2024.06.19
Designed by Tistory.