HTTP(HyperText Transfer Protocol)는 웹 브라우저와 서버 간에 데이터를 주고받는데 사용되는 프로토콜로, 웹 페이지나 리소스를 전송하는데 널리 사용된다. HTTPS(HyperText Transfer Protocol Secure)는 HTTP에 SSL/TLS(보안계층)을 추가해 강화한 프로토콜이다. 두 프로토콜은 기능과 보안 측면에서 차이가 있으며 웹 환경에 따라 각각 적절하게 사용된다.
ㅇ HTTP(HyperText Transfer Protocol)
특징
- 비연결형 프로토콜
각 요청 - 응답이 완료되면 연결이 종료된다.(connectionless) - 지속적인 연결 없이 매번 새로운 연결을 설정하므로 상태 정보를 유지하지 않음(Stateless)
- 평문 전송
데이터가 암호화되지 않은 상태로 전송된다. - 빠르고 가볍지만 보안에 취약하다.
- 포트 : 80
장점
- 빠른 속도
암호화 과정이 없어 처리 속도가 빠르다. - 낮은 리소스 사용
복잡한 암호화 연산이 없어 서버와 클라이언트에 부담이 적다. - 간단한 설정
인증서가 필요하지 않아 설정과 유지보수가 용이하다.
단점
- 보안 취약성
데이터가 평문으로 전송되기 때문에 중간자 공격(MITM)에 취약하다. - 데이터 무결성 보장 불가
데이터가 전송중 위변조될 위험이 있다. - 신원 인증 부재
서버의 신원이나 사용자의 데이터 보호를 보장하지 않는다.
ㅇ HTTPS (HyperText Transfer Protocol Secure)
특징
- SSL/TLS 암호화 적용
HTTP에 SSL/TLS를 추가하여 데이터 암호화, 무결성 보장, 신원 인증을 제공한다. - 서버 신원 인증을 통해 접속하는 사이트의 진위를 파악한다.
- 암호화된 통신으로 중간에서 탈취되거나 위변조를 방지한다.
- 최신 웹 브라우저는 HTTPS를 표준으로 한다. HTTPS가 아닌 사이트에 경고를 표시한다.
- 포트: 443
장점
- 데이터 암호화
도청과 탈취를 방지한다. - 데이터 무결성 보장
데이터의 일관성을 보장한다. - 서버 신원 인증
인증서를 통해 서버가 신뢰할 수 있는 기관에 의해 인증되었음을 보장한다. - 브라우저 신뢰 확보
HTTPS를 사용하는 웹사이트는 브라우저의 "안전"표시를 받으며 사용자의 신뢰를 높인다.
단점
- 복잡한 설정 및 관리
SSL/TLS 인증서를 설치하고 관리해야 하며, 주기적으로 인증서를 갱신해야한다. - 높은 비용
유료 인증서를 사용하는 경우 높은 비용이 발생할 수 있다. - 느린 속도
암호화와 인증 과정으로 인해 HTTP보다 처리 속도가 느리다. - 리소스 사용 증가
암호화, 복호화 작업으로 인해 서버와 클라이언트의 리소스를 더 많이 사용한다.
ㅇ 정리
HTTP | HTTPS | |
보안 | 평문 전송 암호화X | 암호화된 안전한 통신 |
속도 | 빠름 | 느림 |
사용 포트 | 80 | 443 |
SSL/TLS 인증서 | 필요없음 | 필수 (서버 신원 인증) |
데이터 무결성 | 보장하지않음 | 보장함 |
리소스 사용 | 적음 | 높음 |
설정 및 관리 | 간단 | 복잡(인증서 관리) |
주요 사용 사례 | 비민감 정보 제공 | 로그인, 결제, 개인정보 보호 |
'Network' 카테고리의 다른 글
CS 네트워크 로드밸런싱 (1) | 2024.10.17 |
---|---|
CS 네트워크 TLS/SSL Handshake (0) | 2024.10.17 |
CS 네트워크 대칭키 & 공개키(비대칭키) (1) | 2024.10.15 |
CS 네트워크 TCP & UDP (0) | 2024.10.15 |
CS 네트워크 TCP/IP 흐름제어 & 혼잡제어 (0) | 2024.10.14 |