FE interview

[FE interview] Networking : #3 HTTP와 HTTPS의 차이

emayom 2021. 7. 13. 15:11

오늘은 세 번째 단골 질문 'HTTP와 HTTPS의 차이'에 대해서 알아보려고 한다.

 

우선 둘의 차이를 알아보기전에

먼저 HTTP와 HTTPS에 대해서 먼저 알아보자!


 

HTTP와 HTTPS ?

우리가 웹 브라우저를 이용하면서 http:// 혹은 https://로 시작하는 주소를 본 적이 있을 것이다.

 

HTTP와 HTTPS는 모두 '프로토콜(Protocol)'이다. 

그렇기 때문에 사용 목적이나 기본 구조는 비슷하지만 조금씩 차이가 있다.

 

프로토콜은 '통신 규약'을 의미하는데

이전 포스팅 주제인 브라우저의 동작 원리와 과정에 대해 알아보면서 

서버로부터 데이터를 요청하고, 받아올 때 통신 규약이 적용된다는 것을 알 수 있었다.

(*요청 승인 -> 서버로부터 200 OK (성공 응답 상태 코드)를 보내준 후 데이터 패킷을 전송!)

 

이렇듯 우리가 서버로부터 데이터를 가져오기 위해서는

일방적으로 가져오는 것이 아니라 '상호 간의 합의'가 필요한데

컴퓨터 내부 또는 컴퓨터 사이에서의 데이터의 교환 방식(형식)을 정의한 규칙 체계의 집합을 프로토콜이라고 한다.

 

HTTP란?

Hypertext Transfer Protocol의 약자로

인터넷 상에서 데이터를 주고받기 위한 서버/클라이언트 모델을 따르는 프로토콜이다.

(Hypertext 가 붙은 이유는 하이퍼텍스트 기반으로 데이터를 전송하겠다는, 간단히 말해서 링크 기반으로 데이터에 접속하겠다는 의미라고 한다! )

 

하지만,

HTTP는 정보를 마음대로 열람 / 수정할 수 있어 보안이 취약한 특징을 가지고 있다.

단순한 정보뿐만 아니라 민감한 개인정보 일수도 있는 정보까지 말이다!

 

그렇다면 HTTP에서 S가 추가된 HTTPS는 무엇일까?

 

HTTPS 란?

Hypertext Transfer Protocol Secure의 약자로

HTTP에 + Secure이 추가되었다.

 

HTTP 방식의 취약한 보안을 강화한 방식이 HTTPS인 것 이다.

HTTPS는 어떻게 보안의 취약점을 보완할 수 있을까?

바로 데이터의 암호화이다!

 

HTTPS는 클라이언트와 서버 간의 통신 내용을 제 3자가 볼 수 없도록 암호화한다.

모든 통신이 암호화되어 안전하게 처리되기 때문에 주로 금융사 / 전자상거래에서 많이 이용한다.

그렇다면 HTTPS는 어떻게 통신을 암호화할 수 있을까?

 

HTTPS의 암호화 방식

HTTPS는 데이터를 안전하게 주고받기 위해 '보안 프로토콜'  SSL / TLS를 도구로 이용하는데

인증, 데이터 기밀성, 데이터 무결성 세 가지의 기능을 통해 보안을 유지한다.

 

*TLS 프로토콜은 SSL 3.0을 기준으로 발전된 프로토콜로 SSL과 TLS는 차이가 있지만 본질적인 사용 목적은 같다고 볼 수 있다!

* SSL의 통신절차가 궁금하다면 참조할 수 있는 블로그 링크를 아래에 걸어두었다!

 

   +)

SSL Architecture

 

HTTP와 HTTPS의 장단점?

 

앞서 알아본 것과 같이 보안에서는 HTTPS가 뛰어나지만,

암호화 과정이 추가되어 속도나 비용적인 부분에서는 떨어질 수밖에 없다.

(최근 서버와 네트워크의 발전으로 체감상 큰 차이를 느낄 정도는 아니라고 한다.)

 

그에 반해 HTTP는 보안성은 떨어지지만 속도가 빠르고,

설치 및 인증서를 유지하기 위한 추가적인 비용을 지불하지 않아 비용적인 부분에서 유리할 것이다.

 


+)

 

이 사실을 알고 나니 괜히 도메인을 한번 더 살펴보게 된다 ㅎㅎㅎㅎ

혹시라도 정보가 유출되는 사이트보다는 안전한 사이트를 이용하고 싶으니 말이다!

또한 HTTPS는 보안적인 부분 외에서도 다양한 이점이 있다고 한다.

다양한 이유로 최근 많은 웹 사이트들이 HTTPS로 변경하는 추세!

 

하지만, HTTPS 방식에는 추가적인 비용이 발생하기 때문에  공급자의 입장에서는 ,,,

모든 페이지를 HTTPS 방식으로 사용하는 것이 쉬운 결정은 아닐 것이라는 생각이 들었다 ,,,

 

 

*주의  =>  HTTPS = SSL/TLS   ❌      HTTPS = HTTP + SSL / TLS   ⭕️


 

프런트엔드 개발자가 알아야하는 HTTP 프로토콜 Part 1

API 데이터 요청을 위해 꼭 알아야 하는 HTTP 프로토콜의 정의, HTTP Status Code, HTTP Methods 등

joshua1988.github.io

 

인터넷 프로토콜 http와 https의 차이는 뭘까? 보안과 마케팅 측면에서 살펴보기

[BY 세아향] 네이버는 물론이고 이 글을 읽고 있는 세아향 포스트도 그렇고, 온라인 쇼핑몰 등 다양한 ...

m.post.naver.com

 

HTTP 프로토콜

Digest access authentication

www.joinc.co.kr

 

SSL (Secure Socket Layer)

1. SSL 개념 SSL은 Secure Socket Layer의 약자로 Netscape에서 개발된 프로토콜로서 1995년 히크만(Hickman)에 의해서 개발되었으며,현재 인터넷 사용자들에게 안전한 개인 정보를 교환하기 위한 표준 프

darksoulstory.tistory.com

 

 

⚠️ 아래 내용은 모두 개인적인 참고 / 기록을 위한 용도입니다. 참고해주시고 편안하게 봐주세요 :)  ⚠️

***    혹시라도 잘못된 정보가 있다면  언제든지 알려주시면 감사하겠습니다  !    ***