우리가 접속하는 모든 웹사이트들은 서로 다른 문자로 이루어진 주소를 갖고 있다.
하지만 모든 주소가 공통적으로 포함하고 있는 형식은 'http://' 와 'https://'
이다.
이 형식은 어떤 의미를 갖고 있고, 어떤 차이점을 갖고 있는지 이번 포스트에서 다뤄보려 한다.
http와 https란 무엇일까?
먼저 http란?
http는 웹 서버와 사용자의 브라우저 간 웹 서비스를 구성하는 문서를 전송하기 위한 통신 규약(Protocol)
이다.
문서를 요청하고 응답하는 과정은 사용자의 웹 브라우저가 기본 포트인 ‘80’번 포트를 통하여 웹 서버에 응답을 요청하면 웹 서버는 요구 조건에 따라 해당하는 문서를 전달하는 방식으로 이루어져 있는데 이 과정 중 http
의 특성은 평문화된 텍스트 기반의 데이터
를 주고 받는다는 것이다.
하지만 이 과정에서 원치 않는 문제가 발생할 수 있다. 중간에서 데이터를 가로채는 인터셉트
를 통해 원하지 않는 데이터 유출이 발생할 수 있다는 점이다.
이러한 단점을 보완하기 위해 만들어진 것이 바로 https
다.
하나씩 비교해보는 장단점
보안과 신뢰성
https
는 소켓 통신을 필요로 할 때 일반 텍스트가 아닌
SSL이나 TLS 프로토콜을 통한 암호화된 데이터 기반의 통신
을 하며 대칭 암호
와 공개키 암호
두 성질을 모두 가지고 있는 하이브리드 암호 시스템
이다.
두 성질을 모두 갖고 있기에 각자의 장단점을 보완하며 보다 수준 높은 보안을 유지할 수 있으며 중간에서 데이터를 가로채 감청하는 행위가 불가해진다.
위와 같은 보장된 안정성
덕에 부가적으로 SEO(Search Engine Optimization) 즉, 검색 엔진 최적화에서는 http
보다는 https
을 사용하는 웹 서비스가 보다 상위에 노출되는 결과 또한 가져오게 된다.
처리 속도의 차이
https
는 통신 과정에 암호화
하는 과정을 필요로 하기 때문에 http
에 비해 속도가 다소 느린 것이 사실이다.
다만 나날이 발전하는 기술력에 의해 최근 두 방식의 속도 차이는 크게 실감되지 않는다.
서비스 특성에 맞는 선택이 필요하다.
쇼핑몰, 은행와 같이 민감한 개인 정보를 다루며 보안이 우선시되는 서비스는 https
를 적용하는 것이 옳을 것이다.
하지만 다소 민감하지 않은 정보를 다루는 간단한 웹 서비스 같은 경우 굳이 https
를 사용할 이유가 없으며 오히려 목적에 맞지 않는 https 적용을 위해 보안 인증서 발급에 따른 비용
과 같은 불필요한 자원을 소모할 수 있다.
위와 같이 프로토콜을 적용하기 전 각 서비스의 특성에 따라
다양한 부분을 고려하여 어떤 프로토콜을 사용할지 앞서 판단
이 필요할 것이다.
끝