클라이언트 서버 구조
Connectionless(비연결) 프로토콜
Stateless(무상태) 프로토콜
보안에는 키라는 개념이 있다. 키를 사용해 평문을 암호문으로 암호화하고 키를 사용해 암호문을 평문으로 복호화한다. 암호화 방식에는 크게 대칭키 암호화 방식과 공개키(비대칭키) 암호화 방식이 있다.
똑같은 개인 키를 송・수신자가 공유하여 정보를 암호화・복호화 하는 것

대칭 키 : 어떤 정보를 암호화・복호화 할 때 사용하는 키가 동일한 경우
암호화 된 정보의 전달, 확인을 위해선 송・수신자 둘 다 같은 키를 가져야 함
키의 안전한 교환이 대칭 키 암호화 방식의 가장 중요한 부분
장점
단점
1개의 쌍으로 구성된 공개키/개인키로 암호화・복호화 하는 것 방식

비대칭 키 : 어떤 정보를 암호화・복호화 할 때 사용하는 키가 서로 다른 경우
HTTP는 정보를 텍스트로 주고 받기 때문에 네트워크에서 전송 신호를 인터셉트 하는 경우 원하지 않는 데이터 유출이 발생할 수 있다. 이러한 보안 취약점을 해결하기 위한 프로토콜이 HTTP에 S(Secure Socket)가 추가된 HTTPS이다.

HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신에, SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화한다. 따라서 데이터의 적절한 보호를 보장한다. HTTPS의 기본 TCP/IP 포트는 443이다.
HTTPS는 HTTP와 별개의 프로토콜이 아니다. HTTPS는 단순히 HTTP 프로토콜을 통해 TLS/SSL 암호화를 사용하는 것입니다. HTTPS는 특정 공급자가 주장하는 실체가 맞는지 확인하는 TLS/SSL 인증서의 전송을 기반으로 이루어집니다.
암호학이 기밀성, 데이터 무결성, 종단점 인증 등의 보안서비스를 이용하여 향상시킨 TCP 버전을 SSL이라 부른다.
예를 들어, 인터넷 상거래 시나리오를 들어보자.
하니가 원하는 물품, 주소, 지불카드 번호를 입력하고 "구매완료"를 클릭한 경우, 아무런 보안 수단을 취하지 않으면 다음과 같은 상황에 처할 수 있다.
SSL은 기밀성, 데이터 무결성, 서버 인증과 클라이언트 인증을 통해 TCP를 향상시켜 이러한 문제들을 해결한다.

SSL 핸드쉐이크 과정에서 서버는 서버의 공개키가 담긴 SSL 인증서를 클라이언트에게 제공한다. 인증서는 CA의 비밀키로 암호화되어 발급된 상태이다.
대부분 브라우저에는 공신력 있는 CA들의 정보와 CA가 만든 공개키가 이미 설치되어 있다. 서버가 보낸 SSL 인증서가 정말 CA가 만든 것인지를 확인하기 위해 내장된 CA공개키로 암호화된 인증서를 복호화해봅니다. 정상적으로 복호화가 되었다면 CA가 발급한 것이 증명되는 셈입니다. 만약 등록된 CA가 아니거나, 등록된 CA가 만든 인증서처럼 꾸몄다면 이 과정에서 발각이 되며 브라우저 경고를 보냅니다.
CA를 통해 발급된 인증서로 서버를 신뢰할 수 있다.