HTTP와 HTTPS

박진·2026년 2월 6일

2026.02.06 (금)

HTTP와 HTTPS의 차이점은 무엇인가?

HTTP란?

HTTP는 Hyper Text Transfer Protocol의 약자로, 암호화 과정 없이 데이터를 인터넷으로 전송하는 프로토콜입니다. 누구나 쉽게 볼 수 있는 상태

HTTPS란?

HTTPS는 Hyper Text Transfer Protocol Secure의 약자로, HTTP 프로토콜에 보안 기능을 추가한 것
HTTPS를 사용하면 모든 HTTP 요청과 응답 데이터는 네트워크로 보내지기 전에 암호화 된다.
기존의 HTTP 프로토콜에 SSL/TLS 프로토콜을 더해 데이터 전송의 보안을 강화한 통신이다.

  • TLS : Transport Layer Security의 약자로, SSL의 후속 프로토콜
  • SSL : Secure Sockets Layer의 약자로, HTTPS를 구현하기 위한 프로토콜

    SSL/TLS는 HTTPS를 사용하기 위한 안전한 보안 채널을 생성해주는 포로토콜


HTTP와 HTTPS

HTTP는 암호화가 없어 보안에 취약한 반면, HTTPS는 안전하게 데이터를 주고 받을 수 있다. 하지만 암호화/복호화 과정이 필요하기 때문에 HTTP보다 속도가 느리다. 인증서 발급하고 유지하기 위한 추가 비용이 발생한다.
개인 정보와 같은 민감한 데이터를 주고 받아야 한다면 HTTPS를 이용해야 하지만, 노출이 되어도 괜찮은 단순한 정보 조회 등 만을 처리하고 있다면 HTTP를 이용하면 된다.


HTTPS의 특징

데이터 암호화

HTTPS는 전송되는 데이터를 암호화해서 제3자가 내용을 보더라도 내용을 알 수 없음

  • 공개키 암호화 (비대칭키): 연결 초기 단계에서 대칭키를 안전하게 교환하기 위해 사용

  • 대칭키 암호화: 실제 데이터 전송 시 사용, 속도가 빠름

    데이터 무결성

    전송 중에 데이터가 변조되었는지 확인하는 기능. 누군가 수정했다면 수신 측에서 감지하고 해당 데이터 폐기

    서버 인증

    클라이언트가 접속하려는 서버가 신뢰할 수 있는 서버인지 확인


TCP 3-Way Handshake

핸드셰이크로 보장하는 것

  • 양쪽 모두 통신 가능 확인
  • 데이터 순서 보장
  • 손실 시 재전송 가능
  • 신뢰성 있는 연결 수립

HTTP - 80포트 사용

HTTPS - 443포트 사용

통신 과정

  1. 사용자가 로그인 정보 입력 (로그인 요청)
  2. 서버 검증하고 인증서 생성
  3. CA의 비밀키로 인증서 서명
  4. 서버에 서명된 인증서 발급
  5. 웹 브라우저에 CA의 공개키 전달
  6. 서버(웹사이트) 접속 요청
  7. 발급받은 인증서 전달
  8. CA의 공개키로 인증서 검증
  9. 서버 공개키로 대칭키 암호화
  10. 서버로 암호화한 대칭키 전송
  11. 서버 비밀키로 대칭키 복호화
  12. 대칭키를 이용하여 암호화된 정보를 주고받는다

피드백

  • 네이버로 HTTP/HTTPS 통신을 했을 때 어떻게 데이터 통신이 되는지 (암호화 되는지)
    사용자/서버 예시로 들어서 naver에 로그인하는 과정을 설명해보기
  • 공개키/개인키 암호화 방식에 대해 자세하게 공부해보기

0개의 댓글