본문 바로가기
Backend 🖥️

HTTP 와 HTTPS의 개념과 차이점

by 봄설날 2024. 9. 12.

#1 HTTP

HTTP는 OSI(Open Systems Interconnection) 네트워크 통신 모델의 애플리케이션 계층 프로토콜이다. HTTP는 웹 브라우저와 웹 서버 간의 통신을 담당하며 여러 유형의 요청과 응답을 정의한다.

기본적으로 클라이언트(웹 브라우저)와 서버 사이의 요청(request)과 응답(reponse)으로 이루어진다.

 

예를 들어, 웹 사이트의 일부 데이터를 보려는 경우 HTTP GET 요청을 전송하고 연락처 양식 작성과 같은 일부 정보를 전송하려는 경우 HTTP PUT 요청을 전송한다.

마찬가지로, 서버는 숫자 코드 및 데이터 양식으로 다양한 유형의 HTTP 응답을 전송한다. 요청시 받아볼 수 있는 response body가 그것이다. 다음은 몇 가지 예시!!

200 - OK(정상)
400 - Bad request(잘못된 요청)
404 - Resource not found(리소스를 찾을 수 없음)

 

HTTP만의 특징은 다음과 같다.

  • 비암호화 : 데이터를 평문으로 전송
  • 80번 포트 사용

#2 HTTPS

HTTP는 암호화되지 않은 데이터를 전송한다. 즉, 브라우저에서 전송된 정보를 제3자가 가로채고 읽을 수 있다. 이는 이상적인 프로세스가 아니었기 때문에, 통신에 또 다른 보안 계층을 추가하기 위해 HTTPS로 확장되었다!

 

HTTPS를 정의하자면 HTTP 요청 및 응답에 보안 계층인 SSL 및 TLS 기술이 결합된 프로토콜이다.

 

HTTPS 웹 사이트는 독립된 인증 기관(CA)에서 SSL/TLS 인증서를 획득해야 한다. 이러한 웹 사이트는 신뢰를 구축하기 위해 데이터를 교환하기 전에 브라우저와 인증서를 공유한다. SSL 인증서는 암호화 정보도 포함하므로 서버와 웹 브라우저는 암호화된 데이터나 스크램블된 데이터를 교환할 수 있다. 프로세스는 다음과 같이 작동한다.

  1. 사용자 브라우저의 주소 표시줄에 https:// URL 형식을 입력하여 HTTPS 웹 사이트를 방문
  2. 브라우저는 서버의 SSL 인증서를 요청하여 사이트의 신뢰성을 검증하려고 시도
  3. 서버는 퍼블릭 키가 포함된 SSL 인증서를 회신으로 전송
  4. 웹 사이트의 SSL 인증서는 서버 아이덴티티를 증명. 브라우저에서 인증되면, 브라우저가 퍼블릭 키를 사용하여 비밀 세션 키가 포함된 메시지를 암호화하고 전송
  5. 웹 서버는 개인 키를 사용하여 메시지를 해독하고 세션 키를 검색. 그 후, 세션 키를 암호화하고 브라우저에 승인 메시지를 전송
  6. 이제 브라우저와 웹 서버 모두 동일한 세션 키를 사용하여 메시지를 안전하게 교환하도록 전환

HTTP만의 특징은 다음과 같다.

  • 암호화 : SSL(보안 소켓 계층) 또는 TLS(전송 계층 보안) 프로토콜을 사용하여 데이터를 암호화이
  • 443번 포트 사용

#3 HTTP 와 HTTPS의 차이점

 

  • 보안성: HTTP는 데이터를 평문으로 전송하지만, HTTPS는 데이터를 암호화하여 전송한다. 따라서 HTTPS가 보안 면에서 더 우수!!
  • 포트 번호: HTTP는 80번 포트를 사용하고, HTTPS는 443번 포트를 사용
  • 인증: HTTPS는 SSL/TLS 인증서를 사용하여 서버의 신원을 인증한다. HTTP에는 이러한 인증 과정이 없다.
  • 브라우저 표시: 대부분의 브라우저는 HTTPS를 사용하는 웹사이트에 대해 주소 표시줄에 자물쇠 아이콘을 표시하여 사용자가 해당 웹사이트가 안전하다는 것을 알 수 있도록 한다. 반대로 HTTP를 사용하는 웹사이트는 "안전하지 않음"이라는 경고를 표시할 수 있다.

 

#4 HTTP보다 HTTPS를 선택하는 이유

  • 보안
    HTTP 메시지는 일반 텍스트이므로, 권한이 없는 당사자가 인터넷을 통해 쉽게 액세스하고 읽을 수 있다. 반면, HTTPS는 모든 데이터를 암호화된 형태로 전송한다. 따라서 사용자가 민감한 데이터를 제출할 때 제3자가 네트워크를 통해 해당 데이터를 가로챌 수 없다. 신용카드 세부 정보 또는 고객 개인 정보와 같은 잠재적으로 민감한 정보를 보호하려면 HTTPS를 선택하는 것이 좋다.
  • 권위
    검색 엔진은 HTTP의 신뢰성이 더 낮기 때문에 보통 HTTP 웹 사이트 콘텐츠의 순위를 HTTPS 웹 페이지보다 낮게 지정한다. 고객도 HTTP보다 HTTPS 웹 사이트를 더 선호한다. 브라우저는 브라우저 주소 표시줄에서 웹 사이트 URL 옆에 있는 자물쇠 아이콘을 배치하여 사용자에게 HTTPS 연결을 표시한다. 사용자는 이러한 추가 보안 및 신뢰 요소 때문에 HTTPS 웹 사이트 및 애플리케이션을 선호
  • 성능 및 분석
    HTTPS 웹 애플리케이션은 HTTP 애플리케이션보다 로드 속도가 더 빠르다. 마찬가지로, HTTPS는 참조 링크도 더 잘 추적한다. 따라서 분석 소프트웨어가 신뢰할 수 있는 트래픽 소스를 정확하게 식별하도록 하려면 HTTPS를 활성화해야 한다.

 

**참고 : https://aws.amazon.com/ko/compare/the-difference-between-https-and-http/

 

HTTP와 HTTPS 비교 - 전송 프로토콜 간의 차이점 - AWS

1996~1997년에 출시된 최초의 HTTP 버전이 HTTP/1.1입니다. HTTP/2와 HTTP/3은 프로토콜 자체를 업그레이드한 버전입니다. 데이터 전송 시스템을 수정하면서 효율성을 개선했습니다. 예를 들어, HTTP/2는 텍

aws.amazon.com