24.11.15 TIL HTTP/HTTPS

신성훈·2024년 11월 15일

TIL

목록 보기
79/162

HTTP와 HTTPS: 웹 통신의 핵심 프로토콜

1. HTTP 개요

1.1 HTTP란?

  • 정의: HyperText Transfer Protocol의 약자
  • 목적: 웹 브라우저와 서버 간의 데이터 통신을 위한 응용계층 프로토콜
  • 특징:
    • 클라이언트-서버 구조
    • Stateless 프로토콜
    • Request-Response 방식

1.2 HTTP 구성요소

  • 요청 메서드: GET, POST, PUT, DELETE 등
  • URL: 리소스 위치 지정
  • 헤더: 요청/응답에 대한 메타데이터
  • 바디: 실제 전송되는 데이터

2. HTTPS 개요

2.1 HTTPS란?

  • 정의: HTTP + 보안계층(SSL/TLS)
  • 목적: 암호화된 안전한 통신 제공
  • 작동방식: Public Key Infrastructure (PKI) 기반 암호화

2.2 HTTPS 보안 특징

  • 데이터 암호화: 중간자 공격 방지
  • 무결성 보장: 데이터 변조 감지
  • 인증: 서버 신원 확인

3. HTTP vs HTTPS 비교

3.1 주요 차이점

구분HTTPHTTPS
보안평문 통신암호화 통신
포트80443
인증서불필요SSL/TLS 인증서 필요
속도상대적으로 빠름암호화로 인한 약간의 지연

3.2 HTTPS 필요성

  • 개인정보 보호
  • 데이터 보안
  • 검색엔진 최적화(SEO) 향상
  • 신뢰성 확보

4. SSL/TLS 상세

TLS(Transport Layer Security)는 인터넷에서 데이터를 안전하게 전송하기 위한 암호화 프로토콜입니다. TLS는 이전 버전인 SSL(Secure Sockets Layer)의 향상된 버전으로, 웹사이트와 사용자가 주고받는 데이터를 보호하는 데 필수적입니다.

TLS는 대칭 암호화공개 키 암호화를 결합하여 데이터를 안전하게 전송합니다. 웹사이트에 접속할 때, TLS는 서버와 사용자의 브라우저가 통신을 시작하기 전에 안전하게 연결할 수 있도록 핸드셰이크(handshake)라는 절차를 진행합니다. 이를 통해 서버와 클라이언트가 암호화 키를 교환하고, 이후의 데이터가 제3자로부터 보호됩니다.

TLS의 역할:

  1. 기밀성(Confidentiality): 데이터가 암호화되어 중간에서 탈취되어도 해독할 수 없음.
  2. 무결성(Integrity): 데이터가 전송 중에 변경되거나 손상되지 않도록 보장.
  3. 인증(Authentication): 클라이언트가 서버의 신원을 확인하여 신뢰할 수 있는 사이트에 연결.

이 모든 기능을 통해 TLS는 HTTPS 연결의 핵심적인 보안 요소로 작동합니다.

현재는 SSL 대신 TLS가 주로 사용 되며 SSL의 향상된 버전인 TLS가 표준이 되었다.

SSL인증서 라는 용어가 여전히 많이 쓰이는 건 SSL이 처음 대중화 된 용어라서 남아 있는 거이며, 실질적으로 SSL 인증서는 대부분이 TLS 인증서로 작동한다.


마무리

최종 프로젝트 당시 급하게 인증서를 적용해서 해당 내용에 궁금했었는데 이제서 정리하게 되었고, 보안이 개발 할 때도 중요한 부분이란 것을 다시 한 번 확인 하는 시간이였습니다. 보안을 항상 염두에 두고 작성해야겠다고 느꼈습니다.

profile
조급해하지 말고, 흐름을 만들고, 기록하면서 쌓아가자.

0개의 댓글