HTTP는 평문 데이터를 전송하는 프로토콜이므로 비밀번호 혹은 주민번호와 같은 데이터를 주고받을 경우 굉장히 위험합니다. 이러한 문제를 해결하기 위해 암호화가 추가된 프로토콜이 HTTPS입니다.

HTTPS는 자신의 공개키를 갖는 인증서를 발급하여 보내는 메세지를 공개키로 암호화하도록 하고있습니다. 공개키로 암호화된 메세지는 개인키를 가지고 있어야만 복호화가 가능하기에 기업을 제외하고는 누구도 원본 데이터를 읽을 수 없습니다.

조금더 자세히 알아보겠습니다.

HTTPS

HTTPS는 SSL을 덮어쓴 HTTP라 할 수 있습니다. 즉, HTTPS는 새로운 애플리케이션 계층의 프로토콜이 아닌 단순히 HTTP통신중 소켓부분을 SSL이나 TLS라는 프로토콜로 대체한 것 뿐입니다.

HTTP는 원래 TCP와 직접 통신했지만 HTTPS에서부터는 HTTP는 SSL과 통신하고 이 SSL이 TCP와 통신하게 됩니다.

SSL을 사용한 HTTPS는 암호화와 증명서, 안전성 보호를 이용할 수 있게 됩니다.

모든 웹페이지에서 HTTPS를 사용해도 될까?

평문 통신에 비해 암호화 통신은 cpu나 메모리등 더 많은 리소스를 요구합니다. 하지만 최근에는 하드웨어 발달로 인해 HTTPS를 사용하더라도 속도 저하가 거의 일어나지 않습니다. 따라서 모든 웹페이지에 적용하는것이 바람직하다고 합니다.