HTTP란 클라이언트와 서버간의 HTML문서 등 다양한 데이터를 전송하기 위한 통신규약이다.
인터넷 통신은 클라이언트와 서버 사이에 여러 라우터를 거치게 되는데, 이 과정에서 누군가 내가 전송하는 정보를 도청하거나, 변조할 위험이 있다.
이러한 문제를 해결하기위해 HTTPS를 사용한다.
HTTPS는 SSL보안 프로토콜을 통해 데이터를 암호화해서 전송한다.
이를 통해 중간에 데이터가 노출되거나 변조되는걸 막아 통신의 무결성을 보장해준다.
또한 HTTPS는 웹사이트에 인증서를 발급해 사용자에게 접속하려는 사이트가 신뢰할수 있는곳인지 알려준다. (가짜 사이트를 만들어 정보를 탈취하는걸 막을 수 있다)
HTTPS랑 SSL은 같은 개념은 아니고 인터넷 위에서 웹이 작동하듯이 SSL위에서 HTTPS가 작동한다.
즉, HTTPS는 SSL암호화 채널을 통해 HTTP 메세지를 주고받는 것이다.
SSL암호화 채널은 SSL핸드쉐이크를 통해 서버와 클라이언트가 서로를 인증하고 사용할 대칭키를 교환한뒤, 대칭키로 암호화된 데이터를 주고받는다.
이렇게 만들어진 암호화된 통신경로를 SSL암호화 채널이라고 한다.
TLS로 이름이 바꼈지만 역사적 유래때문에 SSL이라고 해도 무방하다