HTTP & HTTPS: 웹 통신의 기초와 보안 버전의 차이

룸잉·2023년 11월 3일
0

cs

목록 보기
10/13

📌 HTTP

  • Hyper Text Transfer Protocol
  • 서버/ 클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜
  • 인터넷에서 하이퍼텍스트를 교환하기 위한 통신규약, 80번 포트 사용

    하이퍼텍스트(Hypertext): 참조(하이퍼링크)를 통해 독자가 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트

  • HTTP 서버 → 80번 포트에서 요청 기다림 → 클라이언트 → 80번 포트로 요청 보냄.

📐 HTTP 구조

  • HTTP는 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동함.
  • 상태를 가지고 있지 않는 stateless 프로토콜
  • Method, Path, Version, Headers, Body 등으로 구성
  • 암호화되지 않은 평문 데이터를 전송하는 프로토콜이기 때문에, HTTP로 비밀번호나 주민등록번호 등을 주고 받을 시, 제 3자가 정보 조회를 할 수 있었음 → 보안 취약성
    • 이를 개선하기 위해 등장한게 HTTPS !

📌 HTTPS

  • Hyper Text Transfer Protocol **Secure**
  • HTTP + 데이터 암호화 → HTTP 요청 및 응답을 SSL/ TLS 기술에 결합함.
  • 443번 포트 사용
  • 네트워크 상에서 중간에 제 3자가 정보를 조회할 수 없도록 암호화 지원

📐 HTTPS 동작 방식

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

🙋‍♀️ HTTP/2, HTTP/3, HTTPS의 차이점

  • HTTP/1.1: 출시된 최초의 HTTP 버전
  • HTTP/2, HTTP/3: 프로토콜 자체를 업데이트한 버전
    • 데이터 전송 시스템 수정 → 효율성 개선

🔍 HTTP/2

  • 텍스트 형식 대신, 바이너리로 데이터 교환

    바이너리(Binary):1과 0만을 사용하여 수를 나타내는 진법(2진법)/ 컴퓨터 언어

  • 서버가 새 HTTP 요청을 기다리는 대신, 클라이언트 캐시에 응답을 사전에 전송 가능

🔍 HTTP/3

  • 비교적 최신에 나온 버전
  • HTTP/2를 한 단계 더 발전시킨 버전
  • 실시간 스트리밍 및 기타 최신 데이터 전송 요구 사항을 보다 효율적으로 지원하는 것을 목표로 함.

🔍 HTTPS

  • HTTP의 보안 문제를 우선시 함.
  • 최신 시스템에서는 SSL/ TLS 와 함께 HTTP/2를 HTTPS로 사용.
  • HTTP/3이 발전하면 브라우저 및 서버 기술도 HTTPS에 통합될 예정.

🙋‍♀️ HTTP보다 HTTPS를 선택하는 이유

🔍 보안

  • HTTP 메시지는 일반 텍스트이기 때문에 권한이 없는 당사자가 인터넷을 통해 쉽게 엑세스하고 읽을 수 있음.
  • HTTPS는 모든 데이터를 암호화된 데이터 형태로 전송함.
    • 사용자의 민감한 데이터를 제 3자가 네트워크를 통해 가로챌 수 없음.
    • 신용카드 세부정보, 고객 개인 정보 등 잠재적으로 민감한 정보를 보호하려면 HTTPS를 선택하는 것이 좋음.

🔍 인증

  • HTTP의 신뢰성이 더 낮기 때문에, 검색 엔진은 HTTPS 웹 페이지보다 웹 사이트 컨텐츠 순위를 낮게 지정함.
  • 브라우저는 주소 표시줄에서 웹 사이트 URL 옆에 있는 자물쇠 아이콘 배치 → 사용자에게 HTTPS 연결을 표시
    • 추가 보안 및 신뢰 요소 때문에 사용자 역시 HTTPS 웹 사이트 및 애플리케이션을 선호 !

🔍 성능 및 분석

  • HTTPS 웹 애플리케이션은 HTTP 애플리케이션보다 로드 속도가 더 빠름.
  • HTTPS는 참조 링크 역시 더 잘 추적함.
  • 따라서, 분석 소프트웨어가 신뢰할 수 있는 트래픽 소스를 정확하게 식별하게 하려면 HTTPS를 활성화하는 것이 좋음 !

    트래픽 소스(Traffic Source)

    • 웹 사이트나 애플리케이션에 방문하는 사용자가 어떤 경로나 출처로부터 왔는지 나타내는 정보
    • 웹 분석에서 중요한 역할을 함.
    • 트래픽 소스 분석 시, 웹 사이트/ 애플리케이션의 성과를 이해하고 개선하기 위한 인사이트를 얻을 수 있음.

🧩 결론

HTTPHTTPS
의미Hypertext Transfer ProtocolHypertext Transfer Protocol Secure
기본 프로토콜HTTP/1과 HTTP/2는 TCP/IP를 사용합니다. HTTP/3은 QUIC 프로토콜을 사용합니다.HTTP 요청 및 응답을 추가로 암호화하기 위해 SSL/TLS와 함께 HTTP/2 사용
포트기본 포트 80기본 포트 443
용도이전 텍스트 기반 웹 사이트모든 최신 웹 사이트
보안추가 보안 기능 없음퍼블릭 키 암호화에 SSL 인증서 사용
이점인터넷을 통한 통신 지원웹 사이트에 대한 권위, 신뢰성 및 검색 엔진 순위 개선

0개의 댓글