HSTS는 보안 쪽에서 한 번 제대로 이해해두면 웹/앱 보안 감각이 확 올라가는 개념입니다.
🔐 HSTS 뜻
HSTS = HTTP Strict Transport Security
“이 사이트는 무조건 HTTPS로만 접속해라”
라고 브라우저에게 강제하는 보안 정책
왜 필요한가?
❌ HSTS 없을 때 위험
- 사용자가 http://example.com 입력
- 서버가 https://로 리다이렉트
- ❗ 이 “처음 요청” 구간에서
- 중간자 공격(MITM)
- SSL 스트립 공격 가능
✅ HSTS 있을 때
- 브라우저가 기억함
- 처음부터 HTTPS로 요청
- HTTP 자체를 시도하지 않음
HSTS 동작 방식
서버가 HTTPS 응답 헤더에 아래를 내려줌:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
옵션 의미
| 옵션 | 의미 |
| max-age | 초 단위 유지 기간 |
| includeSubDomains | 모든 서브도메인에도 적용 |
| preload | 브라우저에 아예 사전 등록 |
preload란?
- Chrome / Firefox / Safari 등에
- 브라우저 자체에 하드코딩
- 사용자가 한 번도 방문 안 해도 HTTPS 강제
👉 금융, 공공, 로그인 서비스에서 많이 씀
HSTS 적용 시 주의사항 ⚠️
1️⃣ HTTPS 완벽해야 함
- 인증서 만료 ❌
- 혼합 콘텐츠 ❌
👉 하나라도 깨지면 사이트 접속 불가
2️⃣ HTTP 접속이 완전히 막힘
- 복구 불가 (max-age 동안)
- 테스트 서버에 실수로 적용하면 재앙 😱
3️⃣ 처음엔 짧게
max-age=300
→ 문제 없으면 점점 늘림
HSTS vs HTTPS 차이
| 구분 | HTTPS | HSTS |
| 암호화 | ⭕ | ❌ (정책) |
| 강제력 | 선택 | 강제 |
| 첫 요청 보호 | ❌ | ⭕ |
실무에서 언제 쓰나?
- 로그인 페이지
- 결제, 인증
- 관리자 페이지
- 공공기관, 금융권
👉 요즘은 사실상 필수
한 줄 요약
HSTS = “HTTPS만 써라, 예외 없다”라는 브라우저 강제 보안 규칙
반응형
'IT ▶ > Java & Web' 카테고리의 다른 글
| 앱 연동 유니버셜링크, 딥링크 개념 정리하기 (0) | 2026.03.17 |
|---|---|
| [IT] 프록시(Proxy), 프록시 서버(Proxy Server) 개념 정리 (0) | 2021.08.11 |
| http, https 기본 80 포트, 443 포트와 포트 종류 (0) | 2021.07.17 |
| 도메인(domain) 이란? - AWS route53, 사설 도메인 생성 방법 (0) | 2021.07.17 |
| 모바일 App, Web 프론트엔드, 백앤드 개발 개념 (2) | 2021.06.07 |