🤷🏻‍♀️: “HTTP와 HTTPS의 차이점에 대해서 말씀해주시겠어요?”

🙋🏻: HTTP는… Hyper Text Transter Protocol의 약자로.. 음…



제 미래가 머리속에 그려지는 것 같습니다. 기술 면접은 생각만해도 언제나 떨리는 일입니다.
막상 물어보면 하나도 대답을 못하죠.

하지만 계속해서 이럴 수는 없으니까! 짧게라도 대답할 수 있도록 정리를 해보자구요!


✅ HTTP

HTTP란 Hyper Text Transfer Protocol, 즉 하이퍼 텍스트를 전송하기 위한 약속을 의미합니다.

웹을 만드는 여러가지 기술 중에 HTML, JavaScript, CSS는 필수적으로 필요한데요, 이 웹 표준 데이터는 서버에 저장되어 있습니다. 그리고 클라이언트는 저장되어있는 데이터를 서버에 요청을 해야합니다.

이러한 웹 표준 데이터를 서버에 요청하고 받아오는 프로토콜이 HTTP입니다.


✅ HTTP의 단점

HTTP는 단점이 있는데요, 바로 암호화되어있지 않다는 것입니다.
암호화하지 않았기 때문에 도청당할 수 있는 위험이 있습니다.
통신 경로상에 있는 네크워크 기기나 컴퓨터와 같은 기기를 통해 도청을 당할 수도 있습니다.

또한 통신 상대를 확인하지 않기 때문에 신뢰성이 떨어집니다.
HTTP는 어떤 요청이 들어와도 응답을 해주는 구조이기 때문에 정보에 대한 정확성이 떨어지고 서버와 클라이언트가 보낸 정보를 중간에 누군가 바꿀 위험이 발생합니다.


✅ HTTPS의 탄생

그래서 HTTP의 단점을 극복하기 위해 나타나게 된 것이 HTTPS입니다.
HTTPS는 SSL을 이용한 HTTP 통신 방식입니다.

HTTP 통신하는 소켓 부분을 SSL이라는 프로토콜로 대체합니다. 원래 HTTP는 TCP와 직접 통신했지만, HTTPS에서 HTTP는 SSL과 통신하고 SSL이 TCP와 통신하게 됩니다.

HTTPS로 전환하게 되면 암호화와 증명서, 안정성 보호를 이용할 수 있기 때문에 보안상 우위에 있을 뿐만 아니라 검색 엔진 최적화에서도 도움을 받을 수 있다는 장점이 있습니다.

SSL

SSL은 Secure Socket Layer로, 암호화 기반 인터넷 보안 프로토콜입니다. 인터넷 통신에 개인정보 보호, 인증, 데이터 무결성을 위해 개발되었습니다.