무엇을 보호하는가
사용자가 보낸 요청과 서버가 보낸 응답은 여러 네트워크 장비를 거쳐 이동한다. HTTPS는 전송 중 제삼자가 그 내용을 읽거나 바꾸는 위험을 줄이기 위해 암호화와 무결성 보호를 사용한다.
이 보호는 통신하는 두 끝점 사이의 연결에 적용된다. 사용자의 기기나 서버 자체가 침해된 상황까지 자동으로 해결하지는 않는다. 접속하는 호스트 등 일부 통신 메타데이터가 모두 숨겨지는 것도 아니다.
인증서가 맡는 역할
서버는 인증서를 통해 접속한 이름과 공개키의 관계를 제시한다. 브라우저는 인증서의 이름, 유효성, 신뢰 관계 등을 검사한다. 이 과정은 사용자가 의도한 서버와 통신하는지 확인하는 데 중요하다.
인증서가 유효하다는 사실은 사이트의 주장이나 판매 상품이 믿을 만하다는 뜻은 아니다. 연결의 인증과 콘텐츠의 진실성은 별개의 문제다.
HTTP와 함께 동작하는 방식
HTTPS에서도 요청 메서드와 상태 코드, 헤더와 본문 같은 HTTP의 기본 개념은 유지된다. 차이는 이 교환이 보호된 연결을 사용한다는 데 있다. HTTP/1.1이나 HTTP/2 등 버전 구분과 HTTPS 사용 여부는 서로 다른 기준이다.
보호 범위를 넘는 요소
암호화된 페이지가 외부 자원을 어떤 방식으로 불러오는지, 로그인 쿠키를 어떻게 다루는지, 서버가 자료를 어떻게 보관하는지도 서비스의 보안에 영향을 준다. HTTPS는 필요한 통신 보호 수단이지만 전체 시스템의 안전성을 혼자 보장하지는 않는다.