이것도 역시 면접에 나왔던 질문이다. 예전에 대략적으로 알고 있었던 내용인데 갑자기 질문을 받는 순간 머리가 하얗게 변했다..항상 https를 써왔고 아무생각이 없었던것 같다..그런데 정작 내가 http를 쓰는지 https를 쓰는지도 햇갈려졌다..이래서 항상 개념을 공부해야하고 알고서 사용해야 한다는 생각이 든다.
http와 https의 결정적인 차이는 보안이다.
HTTP는 간단하게 말해 네트워크상에서 정보를 누군가가 마음대로 열람, 수정이 가능하다.
이는 국가가 직접적으로 정보를 감시하기도 하고,
단순히 공유기 관리자가 공유기를 경유하는 HTTP 정보를 열람, 수정할 수도 있다.
이는 네트워크 상에서 전달되는 모든 민감한 정보 (주민등록번호, 비밀번호 등)가 포함된다.
HTTPS는 HTTP에서 나타난 보안상 문제점을 해결하기 위해 등장하였다.
HTTPS는 네트워크 상에서 중간에 제3자가 정보를 볼 수 없도록 HTTP를 암호화한다.
이를 위해 HTTPS는 추가적인 인증 절차를 요구하며,
복호화 없이 HTTPS의 정보를 중간에서 볼 수 있는 방법은 아직까지 존재하지 않는다.
따라서 보안이 굉장히 뛰어나다고 말할 수 있다.
사용자 입장에서의 장단점
HTTP는 HTTPS에 비해 더 빠릅니다.
HTTP는 보안에 취약하다.
HTTPS는 네트워크 상에서 열람, 수정이 불가능하므로 인터넷을 이용하는데 안전하다.
사용자 입장에서는 인터넷이 끊길 일은 거의 없고, 대한민국 인터넷 속도 평균 또한 빠르므로
HTTP보다 보안성이 뛰어난 HTTPS를 이용하는 것이 무조건 이득이라 할 수 있다.
공급자 입장에서의 장단점
HTTP로 민감한 정보를 다룰 때 항상 변조, 해킹 가능성을 생각해야 한다.
HTTPS는 설치 및 인증서를 유지하는데 추가 비용이 든다.
HTTP는 HTTPS보다 트래픽이 적게 발생합니다. 다시 말해 HTTP는 상대적으로 적은 비용으로 유지 가능하다.
공급자 입장에서 모든 페이지를 HTTPS로 이용한다면 추가적인 비용을 부담해야 할 것이다.
네이버 같은 대기업에서조차 일부 서비스는 HTTP로 이용하는 것을 생각하여,
민감한 정보가 없는 페이지는 HTTP를 이용하고,
로그인, 결제 시스템 등과 같이 민감한 정보가 필요한 페이지는 HTTPS를 사용하는 것이 합리적인 선택이라 생각한다.