"하이퍼텍스트 전송 프로토콜 (Hypertext Transfer Protocol)"의 약자로, 웹 서버와 웹 브라우저 사이의 데이터 통신을 위한 규약이다
데이터가 암호화되지 않고 평문으로 전송되어 민감한 정보를 주고받을 때 보안에 취약합니다.
주로 웹 페이지의 텍스트, 이미지, 비디오, 오디오 등을 브라우저로 전송합니다.
"하이퍼텍스트 전송 프로토콜 보안 (Hypertext Transfer Protocol Secure)"의 약자로, HTTP의 보안 버전이다
데이터를 암호화하여 전송한다
주로 온라인 상거래, 로그인 페이지, 금융 거래 및 개인 정보와 같은 민감한 데이터 전송에 용이하다
SSL과 TLS를 사용해 암호화한다.
SSL/TLS 핸드셰이크(Handshake)는 클라이언트와 서버 간에 보안 통신을 설정하기 위한 중요한 과정입니다. 이 과정은 다음과 같이 이루어집니다.
클라이언트가 서버에 접속할 때, 클라이언트와 서버는 먼저 서로에게 "Hello" 메시지를 보낸다
이 메시지에는 각각의 SSL/TLS 버전과 암호화 알고리즘 목록 등의 정보가 포함된다
서버는 클라이언트에게 공개키 인증서를 제공한다
클라이언트는 이 인증서를 확인하고, 서버가 신뢰할 수 있는 인증 기관에서 발급한 것인지 확인한다
클라이언트와 서버는 통신에 사용할 비밀키를 교환
클라이언트가 서버의 공개키를 사용하여 비밀키를 암호화하고, 서버는 이를 자신의 개인키로 복호화하여 비밀키를 획득한다
비밀키는 통신 동안 데이터를 암호화하고 복호화하는 데 사용된다
위 과정을 거치면 클라이언트와 서버는 서로에게 통신에 필요한 모든 정보를 공유하게 된다