HTTP와 HTTPS의 차이

고규식·2022년 1월 5일
0
post-thumbnail

URL이란?

Uniform Resource Locator로 네트워크 상에서 자원이 어디있는지 알려주기 위한 규약이다.
우리가 보통 URL을 웹사이트 주소로만 알고 있지만, 웹사이트 주소보다 더 큰 개념이며 URL는 웹사이트 주소 뿐만 아니라 네트워크 상에 연결된 다양한 자원을 포함 하고 있다.

URL에 접속하는 경우는 해당 URL에 맞는 프로토콜을 알아야한다. 예를들어 파일 전송을 위한 FTP프로토콜의 경우 FTP클라이언트를 사용해서 접속하고, HTTP는 웹 브라우저를 사용한다.

HTTP란? (HyperText Trnsfer Protocol)

정의 : HTTP란 인터넷에서 웹서버와 사용자의 컴퓨터에 설치된 브라우저 사이에서 문서를 전송하기 위한 통신 규약이다. 즉 인터넷에서 하이퍼텍스트(HyperText)를 전송(Transfer)하기 위해 사용되는 통신 규약(Protocol).

HTTP는 기본포트인 80번 포트(HTTPS는 443번포트 이런것들을 잘 알려진 포트 즉 "Well known port 라고 한다.)

예시)

브라우저에서 주소창에 도메인 주소를 입력하고 엔터를 치게되면, 도메인에 해당하는 IP와 HTTP프로토콜을 함께 서버로 요청합니다. DNS서버는 도메인에 해당하는 IP(컴퓨터)를 찾고, IP에 도달하면 서버는 어떤 포트로 접속 요청을 하였는지 확인합니다.
HTML문서를 주고받기 위한 규약이 바로 HTTP프로토콜이며, 80번포트 입니다. 80번포트로 접속이 되면 비로소 서버는 HTML 문서를 클라이언트(브라우저)에 전송합니다.

주의 할점 : HTTP는 정보를 '텍스트'로 주고받는다. 단순 텍스트로 주고 받기 때문에 네트워크에서 정보를 인터셉터하는 경우 원하지 않는 데이터 유출이 발생 할 수 있다.
그래서 HTTP의 보안 취약점을 해결하기 위한 프로토콜이 HTTPS이다.

HTTPS란? (Secure Socket)

HTTPS는 기존 HTTP에 S(Secure Socket)을 추가한 것이다. 기본 골격이나 사용 목적등은 HTTP와 거의 동일하지만, 데이터를 주고 받는 동안에 보안 요소 가 추가되는 것이 가장 큰 차이점 이다.
즉 HTTPS를 사용하면 서버와 클라이언트 사이의 모든 통신이 암호화 된다는 것이다.

HTTPS는 사실 말 처럼 쉽지않다. 웹 서버에 접속하는 사용자들에게 모두 동일한 암호를 제공하는 것이 아니라 사용자 마다 다른 암호를 제공해야한다.

복호화와 암호화

만약 서로다른 키 2개가 존재할때 이 두개의 키는 서로 암호화/복호화를 할 수 있는 룰을 가지고 있다.
예를들어 A키로 암호화를 하면 B키로 복호화를 할 수 있고, B키로 암호화를 하면 A키로 복호화를 할 수 있다. 그 중에서 하나의 키는 모두에게 공개키로 공개키 저장소에 등록하여 사용하고, 남은 하나의 키를 개인키로 이용해 통신한다. 클라이언트는 공개키를 얻어 데이터를 전송할때 암호화해서 서버에 전송하고, 서버에서는 개인키로 복호화 한다. 만약 반대로 서버가 정보를 제공하는 경우 개인키로 암호화된 정보를 전송하고, 공개키가 있는 사용자는 누구나 정보를 볼 수 있다.

특징

HTTPS는 '보안'기능이 추가된 만큼 HTTP보다 HTTPS의 처리 속도가 더 느릴 수 밖에 없다. 그래서 웹 서버의 스펙이 중요하지만 요즘엔 워낙 성능이 좋아서 HTTP와 HTTPS간의 속도 차이가 거의 없다.

HTTP를 사용하는 서비스는 사용자가 HTTPS를 강제로 사용해서 접속하여도 HTTP로 접속되며, 크롬 웹 사이트의 경우 주의및 보안 알람이 뜬다.

그냥 HTTP를 사용하면 어떤 단점이 있을까?

보안 측면에서의 단점

가벼운 웹서핑정도면 HTTP를 사용해도 무관하지만 자료를 주고 받는 경우라면 심각한 개인 정보 유출로 이루어 질수 있다.
예를들어 어떤 웹사이트에서는 판매되는 상품정보와 실제 구매사이트 만 정보제공하는 것이라면 HTTP의 경우만으로도 충분하다.
하지만 결제 시스템이 도입되거나, DM발송 및 회원가입과 같이 개인정보를 웹서버와 주고 받아야하는 경우라면 HTTP는 정보 누출의 위험성을 가지고 있다.

마케팅 측면에서의 단점

그래도 단순 정보공유 웹사이트에서도 HTTPS를 권장하는 이유는 검색시 우선순위 때문이다.
앞에서 우리는 크롬 웹 브라우저에 '주의 요함'이라는 알람과 함께 HTTPS를 사용하지 않은 사이트라고 사용자가 알 수 있었다.

즉 검색엔진 최적화에도 HTTPS를 써야된다는 것!!!
동일한 키워드의 사이트가 있다고 가정했을때 상위 노출되는 요소 중 하나가 보안요소 이며 HTTP사이트 보다 HTTPS사이트가 우선 검색 될 수있다!

profile
잠실사는 주니어 개발자

0개의 댓글