본문 바로가기
Network

CS 네트워크 HTTP & HTTPS

by 차가운개발 2024. 10. 15.

 

HTTP(HyperText Transfer Protocol)는 웹 브라우저와 서버 간에 데이터를 주고받는데 사용되는 프로토콜로, 웹 페이지나 리소스를 전송하는데 널리 사용된다. HTTPS(HyperText Transfer Protocol Secure)는 HTTP에 SSL/TLS(보안계층)을 추가해 강화한 프로토콜이다. 두 프로토콜은 기능과 보안 측면에서 차이가 있으며 웹 환경에 따라 각각 적절하게 사용된다.

 

ㅇ HTTP(HyperText Transfer Protocol)

특징

  • 비연결형 프로토콜
    각 요청 - 응답이 완료되면 연결이 종료된다.(connectionless)
  • 지속적인 연결 없이 매번 새로운 연결을 설정하므로 상태 정보를 유지하지 않음(Stateless)
  • 평문 전송
    데이터가 암호화되지 않은 상태로 전송된다.
  • 빠르고 가볍지만 보안에 취약하다.
  • 포트 : 80

장점

  • 빠른 속도
    암호화 과정이 없어 처리 속도가 빠르다.
  • 낮은 리소스 사용
    복잡한 암호화 연산이 없어 서버와 클라이언트에 부담이 적다.
  • 간단한 설정
    인증서가 필요하지 않아 설정과 유지보수가 용이하다.

단점

  • 보안 취약성
    데이터가 평문으로 전송되기 때문에 중간자 공격(MITM)에 취약하다.
  • 데이터 무결성 보장 불가
    데이터가 전송중 위변조될 위험이 있다.
  • 신원 인증 부재
    서버의 신원이나 사용자의 데이터 보호를 보장하지 않는다.

ㅇ HTTPS (HyperText Transfer Protocol Secure)

특징

  • SSL/TLS 암호화 적용
    HTTP에 SSL/TLS를 추가하여 데이터 암호화, 무결성 보장, 신원 인증을 제공한다.
  • 서버 신원 인증을 통해 접속하는 사이트의 진위를 파악한다.
  • 암호화된 통신으로 중간에서 탈취되거나 위변조를 방지한다.
  • 최신 웹 브라우저는 HTTPS를 표준으로 한다. HTTPS가 아닌 사이트에 경고를 표시한다.
  • 포트: 443

장점

  • 데이터 암호화
    도청과 탈취를 방지한다.
  • 데이터 무결성 보장
    데이터의 일관성을 보장한다.
  • 서버 신원 인증
    인증서를 통해 서버가 신뢰할 수 있는 기관에 의해 인증되었음을 보장한다.
  • 브라우저 신뢰 확보
    HTTPS를 사용하는 웹사이트는 브라우저의 "안전"표시를 받으며 사용자의 신뢰를 높인다.

단점

  • 복잡한 설정 및 관리
    SSL/TLS 인증서를 설치하고 관리해야 하며, 주기적으로 인증서를 갱신해야한다.
  • 높은 비용
    유료 인증서를 사용하는 경우 높은 비용이 발생할 수 있다.
  • 느린 속도
    암호화와 인증 과정으로 인해 HTTP보다 처리 속도가 느리다.
  • 리소스 사용 증가
    암호화, 복호화 작업으로 인해 서버와 클라이언트의 리소스를 더 많이 사용한다.

ㅇ 정리

  HTTP HTTPS
보안 평문 전송 암호화X 암호화된 안전한 통신
속도 빠름 느림
사용 포트 80 443
SSL/TLS 인증서 필요없음 필수 (서버 신원 인증)
데이터 무결성 보장하지않음 보장함
리소스 사용 적음 높음
설정 및 관리 간단 복잡(인증서 관리)
주요 사용 사례 비민감 정보 제공 로그인, 결제, 개인정보 보호