HTTPS (HTTP Secure) 는 HTTP protocol의 암호화된 버전이다. 이것은 대개 클라이언트와 서버 간의 모든 커뮤니케이션을 암호화 하기 위하여 SSL 이나 TLS을 사용한다. 이 커넥션은 클라이언트가 민감한 정보를 서버와 안전하게 주고받도록 해준다. 예를들면 금융 활동 이나 온라인 쇼핑이 있을 수 있다. - Mozilla 공식문서
Http 프로토콜을 이용한 통신에서는 평문이 전달되기 때문에, 제 3자가 탈취했을 때 알아볼 수 있다. 그래서 보호받아야할 정보를 전달하는 것에 어려움이 따른다.
Https는 http 프로토콜에서 추가된 보안 소켓 계층을 통해 메세지를 암호화할 수 있다. 이 덕분에 보안이 향상된 통신을 할 수 있게된다.
TCP의 3 way handshake후에 SSL handshake를 통해 암호화된 통신을 할 준비를 한다.
과정이 끝난 후에는 Client, Server가 대칭키를 가지고 있는 상태가 되며, 이를 이용해 메시지를 암호화 및 복호화하여 통신한다.
보안 - 패킷이 암호화되어 송수신되어 제 3자로부터 보호받는다.
사용자 경험 - 신뢰할 수 있는 사이트임을 알 수 있고 이는 사용자에게 안전성을 줄 수 있다.
SEO - 구글 검색엔진에서 전체 점수의 약 1%에 해당하는 가산점을 줌으로써, SEO가 향상된다.
서버 자원 비용 - SSL Handshake, 모든 메시지를 암호화/복호화 함에 따라 서버에 추가적인 리소스 비용이 든다. (오늘날에 있어서는 하드웨어의 처리 속도가 빠르기도 하고, TLS의 발전으로 빠르게 연산할 수 있어 무시해도 되는 비용이라고한다.)
인증서 비용 - 무료 인증서는 권장되지 않기 때문에 유료 인증서를 구매해야한다.
HTTPS 통신과정 쉽게 이해하기 #3(SSL Handshake, 협상)
SSL / HTTPS의 장단점 / TLS
TLS(Transport Layer Security)는 무엇입니까?
검색엔진 최적화(SEO), 가장 효율적인 방법은?
SSL handshake 이미지 - cloudfare