HTTP와 HTTPS

HTTP와 HTTPS

생성일
Oct 26, 2024 05:17 PM
최종 편집 일시
Last updated October 26, 2024
태그
CS

HTTP

  1. 특징
    1. HTTP는 텍스트 기반의 통신 프로토콜로, 주로 클라이언트와 서버 간에 HTML 문서, 이미지, 비디오 등 다양한 데이터 파일을 주고받는 데 사용된다.
    2. 데이터가 암호화되지 않은 상태로 전송되기 때문에 중간에 제 3자가 데이터를 가로챌 수 있다. 따라서 보안이 필요한 데이터를 HTTP로 전송하는 것은 위험하다.
  1. 동작 방식
    1. 클라이언트 요청
      1. 클라이언트가 서버로 요청을 보낸다.
    2. 서버 응답
      1. 서버가 요청을 받아 HTTP 헤더와 함께 데이터를 클라이언트로 보낸다.
    3. HTTP는 상태를 유지하지 않기 때문에(stateless) 요청과 응답이 독립적이다.
    4. 이는 특정 요청이 완료된 후, 서버는 그 요청과 관련된 정보를 보존하지 않는다는 뜻이다.

HTTPS

  1. 특징
    1. HTTPS는 HTTP에 SSL(TLS)를 추가하여 데이터가 암호화된 상태로 전송되기 때문에 제 3자가 중간에 데이터를 탈취하더라도 내용을 해독하기 어렵다.
    2. HTTPS는 보안성이 강화되어 인증, 데이터 무결성, 암호화를 제공한다. 주로 로그인 페이지, 결제 페이지 등 보안이 중요한 페이지에 사용된다.
  1. 동작 방식
    1. SSL/TLS 핸드셰이크
      1. HTTPS는 클라이언트와 서버 간에 SSL/TLS 연결을 설정하여 통신이 암호화된 상태로 이루어지도록 한다. 이 과정은 핸드셰이크라고 불리며, 클라이언트와 서버가 암호화 키를 교환하고 인증서를 확인하는 단계가 포함된다.
    2. 데이터 전송
      1. 핸드셰이크가 완료되면 클라이언트와 서버는 대칭 암호화를 통해 데이터를 주고받는다. 모든 데이터는 암호화되어 전송되므로 외부에서 데이터를 탈취해도 내용을 알기 어렵다.
    3. 세션 종료
      1. 요청이 완료되면 HTTPS 세션이 종료되고 암호화된 연결이 닫힌다.