[CS 스터디-Network] HTTP/TCP

똘맹·2023년 5월 21일

CS 스터디

목록 보기
9/20
post-thumbnail

HTTP 버전별 구분

  • HTTP 0.9

    • 초기 버전으로, 단순한 요청과 응답을 처리하기 위해 GET 메서드만을 지원
    • 헤더나 상태 코드 등의 추가 정보를 전송하지 않으며, 텍스트 형식의 HTML만을 지원
  • HTTP 1.0

    • HTTP 0.9보다 발전된 버전으로, GET 외에도 POST, HEAD 등의 메서드를 도입
    • 헤더를 통해 추가 정보를 전송할 수 있으며, 상태 코드와 함께 전송되는 응답 메시지도 추가됨.
  • HTTP 1.1

    • 가장 널리 사용되는 버전으로, 다양한 개선 사항을 도입
    • Keep-Alive 커넥션을 통해 지속적인 연결을 지원하고, 파이프라이닝을 통해 여러 요청을 병렬로 처리할 수 있음.
    • 캐싱 기능과 압축, 인증 등의 추가 기능도 포함됨.
  • HTTP 2.0

    • 성능 개선을 위해 개발된 버전으로, 다중화(multiplexing)와 헤더 압축 등의 기술을 도입
    • 하나의 TCP 연결에서 여러 요청과 응답을 병렬로 처리하여 지연 시간을 줄이고, 효율적인 데이터 전송을 지원
  • HTTP 3.0

    • UDP 기반의 전송 프로토콜인 QUIC(Quick UDP Internet Connections)을 기반으로 개발된 버전
    • QUIC는 TCP보다 빠른 연결 설정과 데이터 전송을 제공
    • HTTP 3.0은 QUIC 위에서 동작하며, 패킷 손실 및 대역폭 변동에 대한 처리를 개선하여 성능과 신뢰성을 향상시킴.

HTTP vs HTTPS

HTTP (Hypertext Transfer Protocol)와 HTTPS (Hypertext Transfer Protocol Secure)는 둘 다 웹에서 데이터를 주고받기 위한 프로토콜이지만, 두 프로토콜 간에는 중요한 차이점이 있다.

HTTP

HTTP는 데이터를 암호화하지 않고 평문으로 전송한다. 이는 데이터가 인터넷을 통해 전송되는 동안 제3자가 해당 데이터를 볼 수 있는 가능성을 높인다. 따라서 HTTP는 보안이 필요하지 않은 비민감한 정보를 전송하는 데 주로 사용된다.

HTTPS

HTTPS는 SSL (Secure Sockets Layer) 또는 TLS (Transport Layer Security) 프로토콜을 사용하여 데이터를 암호화한다. 이를 통해 데이터가 암호화되어 전송되므로 제3자가 데이터를 엿볼 수 없다. 따라서 HTTPS는 개인 정보, 비밀번호, 결제 정보 등과 같이 보안이 필요한 데이터를 전송할 때 사용된다.

HTTPS는 암호화된 연결을 설정하기 위해 공개 키 인증서를 사용한다. 이 인증서는 웹 사이트의 신원을 확인하고, 통신의 무결성을 보장하며, 데이터의 기밀성을 유지하는 역할을 한다.

요약하면, HTTP는 암호화되지 않은 프로토콜로 주로 보안이 필요하지 않은 정보를 전송할 때 사용되고, HTTPS는 SSL 또는 TLS를 사용하여 데이터를 암호화하여 보안이 필요한 정보를 전송할 때 사용된다. HTTPS는 인증서를 통해 보안을 강화하며 데이터의 기밀성과 무결성을 보장한다.

HTTP보다 HTTPS를 선택하는 이유

보안
HTTP 메시지는 일반 텍스트이므로, 권한이 없는 당사자가 인터넷을 통해 쉽게 액세스하고 읽을 수 있다. 반면, HTTPS는 모든 데이터를 암호화된 형태로 전송한다. 사용자가 민감한 데이터를 제출할 때 제3자가 네트워크를 통해 해당 데이터를 가로챌 수 없음을 확신할 수 있기 때문에, 신용카드 세부 정보 또는 고객 개인 정보와 같은 잠재적으로 민감한 정보를 보호하려면 HTTPS를 선택하는 것이 좋다.

권위
검색 엔진은 HTTP의 신뢰성이 더 낮기 때문에 보통 HTTP 웹 사이트 콘텐츠의 순위를 HTTPS 웹 페이지보다 낮게 지정한다. 고객도 HTTP보다 HTTPS 웹 사이트를 더 선호한다. 브라우저는 브라우저 주소 표시줄에서 웹 사이트 URL 옆에 있는 자물쇠 아이콘을 배치하여 사용자에게 HTTPS 연결을 표시한다. 사용자는 이러한 추가 보안 및 신뢰 요소 때문에 HTTPS 웹 사이트 및 애플리케이션을 선호한다.

성능 및 분석
HTTPS 웹 애플리케이션은 HTTP 애플리케이션보다 로드 속도가 더 빠르다. 마찬가지로, HTTPS는 참조 링크도 더 잘 추적한다. 추천 트래픽은 광고 또는 소셜 미디어 백링크와 같은 서드 파티 소스에서 생성되는 웹 사이트 트래픽이다. 분석 소프트웨어가 신뢰할 수 있는 트래픽 소스를 정확하게 식별하도록 하려면 HTTPS를 활성화해야 한다.

TCP 프로토콜

3way handshake

4way handshake 정리 + 해당 과정 ack ,seq number 이해


TCP Connection 과정

profile
척척학사가 되고 싶은 똘맹

0개의 댓글