구분 | HTTP | HTTPS |
---|---|---|
의미 | Hypertext Transfer Protocol | Hypertext Transfer Protocol Secure |
기본 프로토콜 | HTTP/1, HTTP/2는 TCP/IP 사용 HTTP/3은 QUIC 프로토콜 사용 | SSL/TLS와 함께 HTTP/2 사용 (추가 암호화) |
기본 포트 | 80 | 443 |
용도 | 이전 텍스트 기반 웹사이트 | 모든 최신 웹사이트 |
보안 | 추가 보안 기능 없음 | 퍼블릭 키 암호화에 SSL 인증서 사용 |
이점 | 인터넷을 통한 통신 지원 | 웹사이트 권위, 신뢰성 및 검색 엔진 순위 개선 |
HTTP보다 HTTPS를 선택하는 이유는 무엇인가요?
다음으로, HTTP와 비교했을 때 HTTPS의 몇 가지 장점에 대해 알아보겠습니다.
보안
HTTP 메시지는 일반 텍스트이므로, 권한이 없는 당사자가 인터넷을 통해 쉽게 액세스하고 읽을 수 있습니다. 반면, HTTPS는 모든 데이터를 암호화된 형태로 전송합니다. 사용자가 민감한 데이터를 제출할 때 제3자가 네트워크를 통해 해당 데이터를 가로챌 수 없음을 확신할 수 있습니다. 신용카드 세부 정보 또는 고객 개인 정보와 같은 잠재적으로 민감한 정보를 보호하려면 HTTPS를 선택하는 것이 좋습니다.
권위
검색 엔진은 HTTP의 신뢰성이 더 낮기 때문에 보통 HTTP 웹 사이트 콘텐츠의 순위를 HTTPS 웹 페이지보다 낮게 지정합니다. 고객도 HTTP보다 HTTPS 웹 사이트를 더 선호합니다. 브라우저는 브라우저 주소 표시줄에서 웹 사이트 URL 옆에 있는 자물쇠 아이콘을 배치하여 사용자에게 HTTPS 연결을 표시합니다. 사용자는 이러한 추가 보안 및 신뢰 요소 때문에 HTTPS 웹 사이트 및 애플리케이션을 선호합니다.
성능 및 분석
HTTPS 웹 애플리케이션은 HTTP 애플리케이션보다 로드 속도가 더 빠릅니다. 마찬가지로, HTTPS는 참조 링크도 더 잘 추적합니다. 추천 트래픽은 광고 또는 소셜 미디어 백링크와 같은 서드 파티 소스에서 생성되는 웹 사이트 트래픽입니다. 분석 소프트웨어가 신뢰할 수 있는 트래픽 소스를 정확하게 식별하도록 하려면 HTTPS를 활성화해야 합니다.
HTTP는 암호화되지 않은 데이터를 전송합니다. 즉, 브라우저에서 전송된 정보를 제3자가 가로채고 읽을 수 있습니다. 이는 이상적인 프로세스가 아니었기 때문에, 통신에 또 다른 보안 계층을 추가하기 위해 HTTPS로 확장되었습니다. HTTPS는 HTTP 요청 및 응답을 SSL 및 TLS 기술에 결합합니다.
HTTPS 웹 사이트는 독립된 인증 기관(CA)에서 SSL/TLS 인증서를 획득해야 합니다. 이러한 웹 사이트는 신뢰를 구축하기 위해 데이터를 교환하기 전에 브라우저와 인증서를 공유합니다. SSL 인증서는 암호화 정보도 포함하므로 서버와 웹 브라우저는 암호화된 데이터나 스크램블된 데이터를 교환할 수 있습니다. 프로세스는 다음과 같이 작동합니다.
사용자 브라우저의 주소 표시줄에 https:// URL 형식을 입력하여 HTTPS 웹 사이트를 방문합니다.
브라우저는 서버의 SSL 인증서를 요청하여 사이트의 신뢰성을 검증하려고 시도합니다.
서버는 퍼블릭 키가 포함된 SSL 인증서를 회신으로 전송합니다.
웹 사이트의 SSL 인증서는 서버 아이덴티티를 증명합니다. 브라우저에서 인증되면, 브라우저가 퍼블릭 키를 사용하여 비밀 세션 키가 포함된 메시지를 암호화하고 전송합니다.
웹 서버는 개인 키를 사용하여 메시지를 해독하고 세션 키를 검색합니다. 그런 다음, 세션 키를 암호화하고 브라우저에 승인 메시지를 전송합니다.
이제 브라우저와 웹 서버 모두 동일한 세션 키를 사용하여 메시지를 안전하게 교환하도록 전환합니다.
SSL 인증서가 유효하지 않거나 인증서에 명시된 도메인과 실제 접속한 도메인이 일치하지 않을 경우, 브라우저는 사용자가 해당 웹사이트에 접속하는 것을 차단하거나 경고 메시지를 표시합니다. 예를 들어, 크롬은 "이 연결은 안전하지 않음" 또는 "NET::ERR_CERT_COMMON_NAME_INVALID"와 같은 메시지를 띄우고, 빨간색 자물쇠 아이콘과 함께 전체 화면 경고를 보여줍니다. 파이어폭스 역시 "보안 연결 실패"와 같은 메시지를 표시하며, 사용자가 위험을 감수하고 접속할지 선택하도록 합니다. 사파리와 엣지 브라우저도 유사한 방식으로 동작합니다.
이러한 경고는 크게 세 가지 이유에서 발생합니다. 첫째, 인증서의 유효 기간이 만료된 경우입니다. 둘째, 인증서에 명시된 도메인(CN 또는 SAN)과 실제 접속한 도메인이 다를 때입니다. 셋째, 인증서를 발급한 기관(CA)이 브라우저나 운영체제에 의해 신뢰되지 않는 경우입니다. 특히 자가 서명된 인증서나 중간 인증서가 누락된 경우 이런 문제가 자주 발생합니다.
대부분의 브라우저는 이러한 문제가 감지되면 기본적으로 접속을 차단하며, 사용자가 위험을 감수하고 예외를 추가할 수 있도록 선택지를 제공하기도 합니다. 그러나 HSTS(HTTP Strict Transport Security)가 적용된 사이트의 경우에는 브라우저가 예외 추가조차 허용하지 않고 접속을 완전히 차단합니다.
따라서 이런 문제가 발생했을 때는 인증서를 갱신하고, 도메인이 정확하게 인증서에 포함되어 있는지 확인하며, 중간 인증서 포함 여부나 서버 설정 등을 점검해야 합니다. 인증서 오류를 해결하면 브라우저 경고 없이 안전하게 HTTPS 접속이 가능해집니다.
HTTP/1.1이란?
HTTP의 첫 번째 사용 가능한 버전은 1997년에 만들어졌습니다. 여러 단계의 개발을 거쳤으므로 이 첫 번째 버전의 HTTP는 HTTP/1.1이라고 불렸습니다. 이 버전은 웹에서 아직도 사용되고 있습니다.
HTTP/2란?
2015년에는 HTTP/2라는 새로운 버전의 HTTP가 만들어졌습니다. HTTP/2는 HTTP/1.1 제작자가 예상하지 못한 몇 가지 문제를 해결합니다. 특히 HTTP/2는 HTTP/1.1보다 훨씬 빠르고 효율적입니다. HTTP/2가 더 빠른 방법 중 하나는 로드 프로세스 중에 콘텐츠의 우선순위를 지정하는 방법입니다.
HTTP/2가 HTTP/1.1보다 빠른 이유는?
HTTP는 하이퍼텍스트 전송 프로토콜을 의미하며 거의 모든 웹 애플리케이션의 기초입니다.보다 구체적으로, HTTP는 컴퓨터와 서버가 정보를 요청하고 보내는 데 사용하는 방법입니다.예를 들어 누군가가 노트북에서 cloudflare.com 탐색하면 웹 브라우저에서 페이지에 표시되는 콘텐츠에 대해 Cloudflare 서버에 HTTP 요청을 보냅니다.그런 다음 Cloudflare 서버에서는 브라우저에서 사용자에게 표시하는 텍스트, 이미지, 서식과 함께 HTTP 응답을 보냅니다.
HTTP에 비해 HTTPS를 사용하는 또 다른 이점은 특히 HTTP/2를 지원하는 서버와 함께 사용할 경우 웹 사이트가 상대적으로 더 빠르게 로드된다는 것입니다 .
HTTP/2는 HTTPS 암호화를 지원하고 보안 프로토콜을 보완합니다. 무엇보다도 HTTP/2는 리소스 소비를 낮추고 대역폭 효율성을 극대화하여 대기 시간을 줄입니다.
이로 인해 표준 HTTP 프로토콜을 사용할 때보다 사이트 속도가 더 빠르고 성능이 더 원활해집니다.
참고 사이트:
https://aws.amazon.com/ko/compare/the-difference-between-https-and-http/
https://www.cloudflare.com/ko-kr/learning/ssl/connection-not-private-explained/
https://www.cloudflare.com/ko-kr/learning/performance/http2-vs-http1.1/
https://webpress.kr/entry/http-%EB%8C%80-https/#%EC%86%8D%EB%8F%84%EC%99%80_%EC%84%B1%EB%8A%A5