
웹 브라우저에서 사이트 주소를 보면 다음 두 가지 형태를 자주 볼 수 있습니다.
http://example.com
https://example.com
두 프로토콜은 모두 웹 통신에 사용되지만 가장 큰 차이는 보안(암호화) 입니다.
이번 글에서는 다음 내용을 정리합니다.
- HTTP와 HTTPS의 차이
- HTTPS의 동작 원리
- SSL/TLS 개념
- 왜 HTTPS를 사용하는가
1. HTTP 복습
HTTP는 HyperText Transfer Protocol의 약자로,
웹 브라우저와 서버가 데이터를 주고받는 통신 프로토콜입니다.
기본 구조는 다음과 같습니다.
Client → HTTP Request → Server
Server → HTTP Response → Client
예시
GET /users HTTP/1.1
Host: example.com
서버 응답
HTTP/1.1 200 OK
Content-Type: application/json
HTTP의 특징
- 무상태성 (Stateless)
- 비연결성 (Connectionless)
- 평문 통신 (암호화 없음)
문제는 평문 통신이라는 점입니다.
2. HTTP의 문제점
HTTP는 데이터를 암호화하지 않고 그대로 전송합니다.
예를 들어 로그인 요청이 있다고 가정하면
POST /login
id=admin
password=1234
이 데이터는 네트워크를 통해 그대로 전달됩니다.
따라서 다음 공격에 취약합니다.
- 패킷 스니핑 (Packet Sniffing)
- 중간자 공격 (MITM Attack)
- 데이터 변조
이 문제를 해결하기 위해 등장한 것이 HTTPS입니다.
3. HTTPS란 무엇인가
HTTPS는 다음 의미입니다.
HyperText Transfer Protocol Secure
즉
HTTP + 보안 계층(SSL/TLS)
구조
HTTPS = HTTP + SSL/TLS
즉 데이터를 암호화해서 전달하는 HTTP입니다.
4. HTTP vs HTTPS 차이
| 구분 | HTTP | HTTPS |
| 보안 | 없음 | 암호화 |
| 데이터 전송 | 평문 | 암호화 |
| 기본 포트 | 80 | 443 |
| 인증서 | 없음 | SSL 인증서 필요 |
| 속도 | 빠름 | 암호화 때문에 약간 느림 |
예시 URL
HTTP
http://example.com
HTTPS
https://example.com
브라우저에서도 HTTPS 사이트는 자물쇠 아이콘이 표시됩니다.
5. HTTPS 동작 과정
HTTPS는 데이터를 보내기 전에 TLS Handshake 과정을 수행합니다.
흐름은 다음과 같습니다.
1️⃣ Client Hello
클라이언트가 서버에게 연결 요청
지원 가능한 TLS 버전
암호화 알고리즘
2️⃣ Server Hello
서버가 응답하면서 다음을 전달
- SSL 인증서
- 공개키
3️⃣ 인증서 검증
브라우저는 인증서를 확인합니다.
확인 항목
- 인증기관(CA)
- 인증서 유효기간
- 도메인 일치 여부
4️⃣ 세션 키 생성
클라이언트와 서버는 대칭키(Session Key) 를 생성합니다.
이 키로 실제 데이터를 암호화합니다.
5️⃣ 암호화 통신 시작
이후 모든 HTTP 데이터는 TLS로 암호화되어 전송됩니다.
HTTPS Request
HTTPS Response
6. SSL / TLS란 무엇인가
SSL과 TLS는 네트워크 보안 프로토콜입니다.
역사
SSL → TLS
현재는 대부분 TLS를 사용합니다.
대표 기능
- 데이터 암호화
- 서버 인증
- 데이터 무결성
7. HTTPS 암호화 방식
HTTPS는 두 가지 암호화 방식을 함께 사용합니다.
1️⃣ 비대칭키 암호화
역할
- 초기 키 교환
구성
Public Key
Private Key
2️⃣ 대칭키 암호화
역할
- 실제 데이터 암호화
이유
대칭키가 훨씬 빠르기 때문
구조
비대칭키 → 세션키 생성
세션키 → 데이터 암호화
8. HTTPS 사용 이유
현대 웹에서는 HTTPS가 거의 필수입니다.
이유
1️⃣ 개인정보 보호
로그인 정보 보호
ID
Password
Token
2️⃣ 데이터 무결성
데이터가 중간에서 변조되는 것을 방지합니다.
3️⃣ SEO 영향
구글은 HTTPS 사이트를 검색 순위에서 우대합니다.
4️⃣ 브라우저 경고 방지
HTTP 사이트는 다음 경고가 표시됩니다.
Not Secure
9. 정리
HTTP와 HTTPS의 핵심 차이는 보안입니다.
HTTP
- 평문 통신
- 보안 취약
HTTPS
- TLS 암호화
- 인증서 기반 보안
구조
HTTPS = HTTP + TLS
따라서 현대 웹 서비스에서는 HTTPS 사용이 기본 표준입니다.
'CS' 카테고리의 다른 글
| [CS] HTTP란 무엇인가? (0) | 2026.03.26 |
|---|