반응형



HTTP와 HTTPS의 실제 차이는 단순히:
자물쇠 있냐 없냐
수준이 아니라,
인터넷에서 데이터가 "평문으로 다 보이느냐"
아니면
"암호화되어 보호되느냐"
의 차이다.
가장 핵심 차이 한 줄
| 프로토콜 | 의미 |
| HTTP | 평문 통신 |
| HTTPS | TLS 암호화 통신 |
즉:
HTTPS = HTTP + TLS
이다.
실제로 HTTP는 어떻게 보이냐?
HTTP는 네트워크에서:
POST /login HTTP/1.1
Host: example.com
id=admin&pw=1234
이런 식으로 그대로 보인다.
즉 중간에서
- 와이파이 관리자
- 통신사
- 프록시
- 공격자
가 패킷 보면:
ID/PW 그대로 읽힘
가능.
HTTPS는?
HTTPS는 TLS(Transport Layer Security)로 암호화한다.
즉 실제 네트워크에서는:
A91F82A0...
8FA2BC91...
같은 암호문만 보인다.
그래서 보호되는 것
| 항목 | HTTPS 보호 여부 |
| 비밀번호 | O |
| 쿠키 | O |
| JWT | O |
| API 응답 | O |
| JSON 데이터 | O |
HTTP는 왜 위험하냐?
대표적으로:
MITM(중간자 공격)
가능.
예시
공용 와이파이에서:
HTTP 로그인
하면,
공격자가:
- 비밀번호
- 세션쿠키
탈취 가능.
HTTPS는 왜 막을 수 있나?
HTTPS는:
- 서버 인증
- 키 교환
- AES 암호화
- 무결성 검증
수행하기 때문.
즉 HTTPS 특징
1. 기밀성(Confidentiality)
내용 못 봄
2. 무결성(Integrity)
중간 수정 불가
3. 인증(Authentication)
진짜 서버인지 검증
실제 브라우저 차이
HTTP
http://
브라우저에서:
- "안전하지 않음"
- 자물쇠 없음
HTTPS
https://
- 자물쇠 표시
- TLS 연결 성공
의미.
포트도 다름
| 프로토콜 | 기본 포트 |
| HTTP | 80 |
| HTTPS | 443 |
실제 네트워크 차이
HTTP 요청
GET /mypage
Cookie: SESSION=abcd
그대로 노출.
HTTPS 요청
TLS 내부에서 암호화:
암호문 형태
로 전송.
HTTPS 내부 실제 구조
HTTPS는:
1. TLS Handshake
2. AES 세션키 생성
3. AES-GCM 암호화 통신
구조.
실제로 HTTPS에서도 보이는 것
중요 포인트.
HTTPS라도 일부 메타데이터는 보인다.
예:
| 항목 | 노출 여부 |
| IP | 보임 |
| 도메인(SNI) | 일부 보임 가능 |
| 패킷 크기 | 보임 |
| 본문 데이터 | 암호화 |
그래서 HTTPS가 만능은 아님
HTTPS는:
전송 구간 보호
다.
못 막는 것
| 공격 | HTTPS 방어 여부 |
| XSS | ❌ |
| SQL Injection | ❌ |
| 서버 해킹 | ❌ |
| 피싱 사이트 | 일부만 |
| 악성 JS | ❌ |
실무에서는 이제 HTTPS 필수
현대 브라우저는:
- HTTP 쿠키 제한
- Service Worker 제한
- Geolocation 제한
등도 걸린다.
SEO도 영향 있음
- Google 검색 랭킹에도 HTTPS 영향 존재.
HTTP/2, HTTP/3도 대부분 HTTPS 기반
실질적으로 현대 웹은:
HTTPS가 기본
이다.
실제 실무 구조
보통:
Client
↓ HTTPS
Nginx/ALB
↓ HTTP
Spring Backend
TLS Termination 구조 많이 사용.
가장 중요한 현실 차이
HTTP:
엽서
처럼 누구나 읽을 수 있음.
HTTPS:
봉인된 편지
처럼 암호화되어 전달.
핵심 한 줄
HTTP vs HTTPS의 실제 차이는:
HTTP는 모든 데이터가 평문으로 전송되지만,
HTTPS는 TLS를 통해 서버 인증·키 교환·AES 암호화를 수행하여
데이터를 안전하게 보호한다
이다.
반응형
'system_fundamentals > security_cryptography' 카테고리의 다른 글
| 세션 vs JWT (0) | 2026.05.18 |
|---|---|
| HTTPS 인증서는 웹사이트의 안전을 보장하는가 (0) | 2026.05.15 |
| HTTPS 성능 비용 (0) | 2026.05.15 |
| TLS termination (0) | 2026.05.15 |
| Forward Secrecy (0) | 2026.05.15 |
댓글