- 클라이언트가 서버에 접속 요청을 합니다.
- 서버는 공개키와 개인키를 가지고 있다가 공개키를 클라이언트에 전달하고
- 클라이언트는 공개키를 받아 자신만의 대칭키를 공개키로 암호화해서 서버에 전달합니다.
- 공개키로 암호화한 클라이언트의 대칭키를 서버에서 개인키로 복호화합니다.
<이때 외부(해커)로부터 안전한 대칭키를 클라이언트와 서버가 가지게 되고
안전하게 공개키 방식으로 통신이 가능합니다. 위처럼 HTTPS는 대칭키/비대칭키 방식을 효율적으로 사용합니다.>
HTTP에 데이터 암호화가 추가된 통신 프로토콜입니다. HTTPS는 HTTP와 다르게 443번 포트를 사용하며,
일반적으로, 웹 사이트는 로그인 정보, 결제 정보, 개인정보와 같은 민감한 데이터를 다루는 경우 HTTPS를 사용하여 네트워크 상에서 중간에 제3자가 정보를 볼 수 없도록 암호화를 지원하고 사용자의 데이터를 보호합니다. 또한, HTTPS를 사용하면 검색 엔진에서 웹 사이트의 랭킹을 높일 수 있습니다.
하지만 HTTPS를 이용하면 암호화/복호화의 과정이 필요하기 때문에 HTTP보다 속도가 느린 특징이 있습니다. (요새는 거의 차이 가 없다.) 또한 HTTPS는 SSL/TLS 인증 프로세스를 통해 웹 서버의 신원을 확인하는데 인증서를 발급하고 유지하기 위한 추가 비용이 발생하기도 합니다.