HTTPS(Hypertext Transfer Protocol Secure)는 HTTP의 암호화 버전입니다 — 브라우저가 웹사이트와 통신하는 데 사용하는 프로토콜. 사이트가 HTTPS를 사용하면 브라우저와 서버 사이의 모든 데이터가 암호화되어, 중간에서 아무도 읽거나 수정할 수 없습니다.
URL의 https:// 접두사와 브라우저 주소 표시줄의 자물쇠 아이콘으로 HTTPS를 사용하는 사이트를 구분할 수 있습니다. 2026년 현재 86.9%의 웹사이트가 HTTPS를 사용하며, 브라우저는 모든 HTTP 사이트를 “안전하지 않음”으로 표시합니다.
HTTPS 작동 원리
HTTPS는 일반 HTTP 위에 TLS(Transport Layer Security) 암호화를 추가합니다. HTTPS 웹사이트를 방문하면 밀리초 이내에 TLS 핸드셰이크가 수행됩니다:
- 브라우저가 연결 — 지원하는 TLS 버전, 암호화 스위트, 임의 숫자를 서버에 전송
- 서버가 응답 — 선택한 암호화 스위트, SSL/TLS 인증서(공개키 포함), 임의 숫자를 전송
- 브라우저가 검증 — 인증서가 만료되지 않았는지, 도메인과 일치하는지, 신뢰할 수 있는 인증 기관이 서명했는지 확인
- 세션 키 협상 — 양쪽이 비대칭 암호화(Diffie-Hellman 키 교환)를 사용하여 공유 비밀 세션 키에 합의
- 암호화 통신 시작 — 이후 모든 데이터가 대칭 세션 키로 암호화
핸드셰이크 후 모든 것이 암호화됩니다: HTML, 이미지, CSS, JavaScript, 폼 제출, 쿠키, API 응답, URL 경로.
HTTP vs HTTPS
| HTTP | HTTPS | |
|---|---|---|
| 암호화 | 없음 — 평문 전송 | TLS로 모든 데이터 암호화 |
| 기본 포트 | 80 | 443 |
| URL 접두사 | http:// | https:// |
| 인증서 필요 | 아니오 | 예 (SSL/TLS 인증서) |
| 브라우저 표시 | ”안전하지 않음” 경고 | 자물쇠 아이콘 |
| 데이터 무결성 | 없음 — 전송 중 변조 가능 | 있음 — 변조 감지 |
| 인증 | 없음 — 서버 진위 증명 없음 | 인증서가 서버 신원 증명 |
| SEO 신호 | 부정적 (2014년부터) | 긍정적 (Google 순위 요소) |
| HTTP/2 지원 | 없음 (실질적으로) | 있음 — 더 빠른 페이지 로드 |
| 필수 대상 | 현대적인 것 없음 | 서비스 워커, 위치정보, 카메라/마이크 API, 결제 폼 |
격차는 보안만이 아닙니다 — HTTPS는 HTTP가 사용할 수 없는 최신 웹 기능을 활성화합니다. 브라우저는 서비스 워커, Geolocation API, Clipboard API 및 기타 강력한 API를 HTTPS 오리진으로 제한합니다.
모든 웹사이트에 HTTPS가 필요한 이유
프라이버시
HTTPS 없이는 같은 네트워크의 누구나 정확히 무엇을 하는지 볼 수 있습니다. 카페 Wi-Fi 운영자, 기업 프록시, ISP — 방문하는 모든 페이지, 제출하는 모든 폼, 전달되는 모든 쿠키를 읽을 수 있습니다. HTTPS는 이 모든 것을 암호화합니다.
이것은 이론적인 것이 아닙니다. ISP가 암호화되지 않은 HTTP 트래픽에 광고와 추적 코드를 삽입한 것이 문서화되어 있습니다.
데이터 무결성
HTTPS는 수신하는 데이터가 전송 중 변조되지 않았음을 보장합니다. HTTPS 없이는 악의적인 네트워크 운영자가:
- 페이지에 광고나 암호화폐 채굴기 삽입 가능
- 다운로드 링크를 멀웨어로 교체 가능
- 웹사이트의 가격이나 약관 수정 가능
- 추적 스크립트 삽입 가능
HTTPS는 모든 변조를 감지합니다 — 브라우저가 변조된 데이터를 거부합니다.
인증
인증서는 사칭자가 아닌 실제 서버에 연결되어 있음을 증명합니다. HTTPS 없이는 악성 Wi-Fi 핫스팟(“Free Airport WiFi”)이 모든 웹사이트의 가짜 버전으로 자동 리다이렉트할 수 있습니다. HTTPS에서는 가짜 사이트가 해당 도메인에 대한 유효한 인증서를 제공할 수 없으므로 브라우저가 연결을 차단합니다.
SEO
Google은 2014년부터 HTTPS를 순위 신호로 사용합니다. “가벼운” 신호(Google은 “동점 결정”으로 설명)이지만 가장 쉽게 구현할 수 있는 신호 중 하나입니다. 더 중요한 것은 HTTP 페이지가 Chrome의 “안전하지 않음” 경고를 유발하여 이탈률을 높이고 — 이탈률이 간접적으로 순위에 영향을 줍니다.
성능
HTTPS가 느리다는 것은 일반적인 오해입니다. 실제로:
- TLS 핸드셰이크가 한 번의 왕복(TLS 1.3) 또는 두 번(TLS 1.2)을 추가 — 일반적으로 10-50ms
- HTTP/2(HTTPS 필요)는 다중화, 헤더 압축, 서버 푸시를 통해 HTTP/1.1보다 훨씬 빠름
- 세션 재개로 재방문자에 대한 핸드셰이크 오버헤드 제거(TLS 1.3에서 0-RTT)
- 최신 CPU가 하드웨어에서 AES 암호화 처리(AES-NI) — CPU 비용 무시 가능
실제로 HTTP/2가 적용된 HTTPS 사이트는 HTTP/1.1 사이트보다 더 빠르게 로드됩니다.
브라우저 요구 사항
최신 브라우저는 강력한 API를 보안 컨텍스트(HTTPS만)로 제한합니다:
- Service Workers — PWA, 오프라인 지원, 푸시 알림에 필요
- Geolocation API — GPS 및 위치 접근
- 카메라/마이크 — 화상 통화를 위한
getUserMedia() - Clipboard API — 클립보드에서 읽기
- Payment Request API — 네이티브 결제 UI
- Web Bluetooth, Web USB — 하드웨어 접근
이 기능이 필요하다면 HTTPS는 의무입니다 — 선택이 아닙니다.
일반적인 오해
“HTTPS는 로그인 페이지와 결제에만 필요합니다.” 모든 페이지에 HTTPS를 사용해야 합니다. 정적 블로그 게시물도 HTTP에서 탈취될 수 있는 쿠키를 전송합니다. HTTP 페이지는 악성 콘텐츠를 삽입하도록 전송 중 변조될 수 있습니다. 그리고 브라우저는 이제 폼이 있는 페이지뿐만 아니라 모든 HTTP 페이지에 경고합니다.
“HTTPS가 사이트를 느리게 합니다.” TLS 1.3은 첫 연결에서 약 10-40ms를 추가합니다. HTTP/2(HTTPS 필요)는 다중화와 압축으로 이를 충분히 보상합니다. 세션 재개로 후속 방문은 더 빠릅니다. 최신 하드웨어에서 암호화 자체는 CPU 명령어(AES-NI)로 처리되어 측정 가능한 오버헤드가 없습니다.
“HTTPS 인증서는 비쌉니다.” Let’s Encrypt가 무료로 인증서를 발급합니다. 3억 개 이상의 웹사이트가 사용하고 있으며 — 대기업과 정부 사이트를 포함합니다. GetHTTPS로 소프트웨어를 설치하지 않고 5분 만에 받을 수 있습니다.
“호스팅 제공자가 HTTPS를 처리하므로 이해할 필요 없습니다.” 기본 사이트에서는 아마 맞습니다. 하지만 “혼합 콘텐츠” 경고, 인증서 오류를 보거나 리다이렉트를 설정해야 하는 경우 — HTTPS를 이해하면 문제를 진단하고 해결하는 데 도움이 됩니다. 그리고 호스트를 변경하면 인증서 작동 방식을 알아야 합니다.
“자물쇠 아이콘은 사이트가 안전하다는 의미입니다.” 자물쇠는 연결이 암호화되었다는 의미이지, 웹사이트 자체가 신뢰할 수 있다는 의미가 아닙니다. 90% 이상의 피싱 사이트가 현재 HTTPS를 사용합니다. 자물쇠는 연결된 상대를 확인하지(인증서를 통해), 그들이 정직한지 확인하지 않습니다.
웹사이트에서 HTTPS를 활성화하는 방법
-
인증서 발급 — GetHTTPS를 사용하여 브라우저에서 무료 Let’s Encrypt 인증서를 받으세요. 설치 없음, 계정 없음.
-
서버에 설치 — Nginx, Apache, cPanel, WordPress, IIS, Docker 가이드를 참고하세요.
-
HTTP를 HTTPS로 리다이렉트 — 모든 트래픽을 보안 버전으로 강제합니다. 리다이렉트 가이드 →
-
혼합 콘텐츠 수정 — 모든 리소스(이미지, 스크립트, CSS)가 HTTPS를 통해 로드되도록 합니다. 혼합 콘텐츠 가이드 →
-
갱신 설정 — Let’s Encrypt 인증서는 90일간 유효합니다. 갱신 가이드 →
HTTPS의 미래
인증서 유효 기간이 줄어들고 있습니다. CA/Browser Forum은 2029년까지 최대 인증서 유효 기간을 47일로 줄이기로 결정했습니다. 이로 인해 자동 갱신 도구(Certbot, acme.sh) 또는 쉬운 수동 도구(GetHTTPS)가 점점 더 중요해집니다.
HTTP/3와 QUIC. 차세대 HTTP는 QUIC을 통해 실행되며, 암호화가 전송 계층에 내장되어 있어 암호화되지 않은 버전이 없습니다. HTTPS는 더 이상 단순한 레이어가 아닙니다 — 프로토콜 자체와 분리할 수 없게 되고 있습니다.
Encrypted Client Hello(ECH). TLS 1.3은 핸드셰이크의 대부분을 암호화하지만, SNI(Server Name Indication) — 어떤 도메인에 연결하는지 나타내는 것 — 은 여전히 보입니다. ECH는 SNI도 암호화하여, 네트워크 관찰자가 공유 서버에서 어떤 특정 사이트를 방문하는지 볼 수 없게 합니다.
자주 묻는 질문
HTTPS가 정말 안전한가요?
최신 TLS(1.2 또는 1.3)를 사용하는 HTTPS는 도청과 변조에 대해 매우 안전합니다. 올바르게 구성된 TLS 1.3에 대한 실용적인 공격은 없습니다. 나머지 위험은 암호화된 연결 자체가 아닌 엔드포인트(기기의 멀웨어, 침해된 서버)에 있습니다.
정적 웹사이트에도 HTTPS가 필요한가요?
네. 폼이나 로그인이 없어도 HTTPS는 콘텐츠 삽입(광고, 멀웨어)을 방지하고, 방문자 프라이버시(어떤 페이지를 보는지)를 보호하고, HTTP/2(더 빠른 로딩)를 활성화하며, “안전하지 않음” 브라우저 경고를 피합니다.
HTTPS가 SEO에 영향을 미치나요?
네. Google은 2014년에 HTTPS를 순위 신호로 확인했습니다. 가벼운 신호이지만, “안전하지 않음” 경고(이탈률 증가)와 결합하면 HTTP 사이트는 측정 가능한 SEO 불이익을 받습니다.
SSL과 TLS의 차이점은?
SSL(Secure Sockets Layer)은 1990년대 Netscape가 만든 원래의 암호화 프로토콜이었습니다. TLS(Transport Layer Security)가 이를 대체했습니다. 모든 SSL 버전은 사용 중단되었고 안전하지 않습니다. 오늘날 “SSL 인증서”라고 하면 TLS와 함께 사용하는 인증서를 의미합니다. 실무에서는 두 용어가 상호 교환적으로 사용됩니다.
HTTPS는 얼마나 비용이 드나요?
Let’s Encrypt를 사용하면 무료입니다. GetHTTPS는 Let’s Encrypt 인증서를 무료로, 브라우저에서 직접 발급합니다. 유료 인증서($50-500/년)도 존재하지만 동일한 암호화 강도를 제공합니다 — 차이점은 신원 검증 수준이지, 보안이 아닙니다.
HTTPS가 모든 공격으로부터 보호하나요?
아닙니다. HTTPS는 전송 중 데이터를 보호합니다 — 도청, 변조, 서버 사칭을 방지합니다. 다음으로부터 보호하지 않습니다: 사용자 기기의 멀웨어, 애플리케이션 코드의 취약점(XSS, SQL 인젝션), 피싱(자물쇠가 사이트의 정직함을 의미하지 않음), 서버 측 침해.