서버 / 클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다.
서로 다른 시스템들 사이에서 통신을 주고받게 해주는 프로토콜이라고 이해하면 될 것 같다.
HTTP는 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약으로 80번 포트를 사용하고 있다.
따라서 http 서버가 80번 포트에서 요청을 기다리고 있으며, 클라이언트는 80번 포트로 요청을 보내게 된다.
HTTP 프로토콜의 문제점은 서버-> 브라우저로 전송되는 정보가 그대로 노출이 된다는 점이다.
보안성이 떨어져 노출을 해결하기 위해 (+암호화 기능을 추가) SSL/TLS 프로토콜을 얹어 신뢰성을 높였다.
웹 서버에 접속하는 사용자에게 모두 동일한 암호를 제공하는 것이 아니라 사용자 마다 다른 암호를 제공한다.
HTTPS는 대칭키 암호화 방식과 비대칭키 암호화 방식을 모두 사용하고 있는데 각각의 암호화 방식은 다음과 같다.!
SSL은 들어오고 나가는 데이터들을 암호화하는 보안 기능을 갖고 있는 보안 인증서이다.
(SSL -> TLS로 업그레이드 되었으나 일반적으로는 SSL/TLS 구분을 하지 않는다)
도메인에 SSL인증서 없이 https를 사용할 수 없고 http로 표시된다.
즉 우리가 사용하는 https:// 로 시작하는 주소들은 다 SSL인증서 적용이 된 것이라는 뜻이다.
포트 번호 443번!( +증명서를 구입하는데 돈도 든다)
그리고 앞에서 언급한 대칭키 암호화와 비대칭키 암호화를 모두 사용하여 안정성을 얻고 있다.
참고자료 : http://wiki.hash.kr/index.php/HTTPS
https://mangkyu.tistory.com/98