배운것들을 정리합니다.
三昧境

CS/network

HTTP와 HTTPS의 차이점은?

ujo_orr 2024. 7. 9. 23:01

 

HTTPHTTPS는 둘다 TCP/IP 프로토콜 스위트를 기반으로 작동하는 애플리케이션 계층 프로토콜이며 컴퓨터나 기기간 통신을 위해 약속된 통신 규약입니다.

 


 

HTTP (HyperText Transfer Protocol)

HTTP는 웹 서버와 클라이언트(브라우저) 간에 데이터를 주고받기 위한 프로토콜입니다.
기본적으로 데이터를 평문으로 전송하며 주로 웹 페이지와 자원들(이미지, 비디오 등)을 전송하는 데 사용됩니다.

주로 공개된 웹 페이지나 파일을 전송할 때 처럼 민감하지 않은 데이터의 전송에 사용됩니다.

 

평문(Plaintext)

암호화되지 않았고 추가 처리 없이 사람이나 컴퓨터가 읽을 수 있는 텍스트 문서입니다.
보통 암호화 또는 인코딩 전의 데이터를 의미합니다.

이미지 등과 같은 모든 정보를 더 느슨하게 나타내는 cleartext라는 용어와 같은 의미로 자주 사용됩니다.

 

  •  암호화
    • 데이터가 평문으로 전송되므로 도청, 중간자 공격(man-in-the-middle attack) 등에 취약합니다.
  • 무결성
    • 데이터가 전송되는 동안 변조될 위험이 있습니다.
    • 전송 도중 데이터가 변경되더라도 이를 탐지할 수 있는 방법이 없습니다.
  • 인증
    • 서버 인증을 하지 않습니다.
    • 클라이언트는 서버의 신원을 확인할 수 없습니다.
  • 성능
    • 암호화 및 인증 과정이 없기 때문에 HTTPS보다 빠를 수 있습니다.
    • 그러나 최신 기술 및 하드웨어의 발전으로 인해 이 차이는 점점 줄어들고 있습니다.
  • 포트
    • 기본적으로 TCP 포트 80을 사용합니다.

 


 

HTTPS (HyperText Transfer Protocol Secure)

 

HTTPS는 HTTP의 보안 버전으로 데이터 전송 시 SSL/TLS 프로토콜을 사용하여 데이터를 암호화합니다.
이를 통해 전송되는 데이터의 기밀성과 무결성을 보장합니다.

주로 로그인 정보, 결제 정보, 개인 식별 정보처럼 민감한 데이터의 전송이 필요한 경우 사용됩니다.
오늘날 대부분의 웹사이트는 보안 강화를 위해 HTTPS를 기본으로 사용하고 있습니다.

  •  암호화
    • SSL/TLS를 통해 데이터를 암호화하여 전송합니다.
    • 이를 통해 데이터가 전송 중에 가로채어지더라도 내용을 읽을 수 없습니다.
  • 무결성
    • SSL/TLS는 데이터의 무결성을 보장합니다.
    • 데이터가 전송 도중 변경되었는지 여부를 확인할 수 있으며, 변조된 경우 이를 탐지할 수 있습니다.
  • 인증
    • SSL/TLS 인증서를 사용하여 서버의 신원을 확인합니다.
    • 인증서는 신뢰할 수 있는 인증 기관(Certificate Authority)에서 발행됩니다.
    • 이를 통해 클라이언트는 서버가 신뢰할 수 있는 서버인지 확인할 수 있습니다.
  • 성능
    • 암호화 및 인증 과정으로 인해 초기 연결 설정 시간이 HTTP보다 길 수 있습니다.
    • 그러나 지속적인 연결에서는 성능 차이가 미미합니다.
  • 포트
    • 기본적으로 TCP 포트 443을 사용합니다.