HTTP란 무엇입니까?

하이퍼텍스트 전송 프로토콜은 하이퍼링크를 사용하여 인터넷에서 페이지를 로드하는 데 사용됩니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • HTTP의 정의
  • HTTP 요청과 응답의 구조 설명
  • DDoS 공격이 HTTP를 통해 어떻게 시작되는지 이해하기

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

HTTP란 무엇입니까?

하이퍼텍스트 전송 프로토콜(HTTP)은 월드 와이드 웹의 토대이며 하이퍼텍스트 링크를 사용하여 웹 페이지를 로드하는 데 사용됩니다. HTTP는 네트워크 장치 간에 정보를 전송하도록 설계된 애플리케이션 계층 프로토콜이며 네트워크 프로토콜 스택의 다른 계층 위에서 실행됩니다. HTTP를 통한 일반적인 흐름에는 클라이언트 시스템에서 서버에 요청한 다음 서버에서 응답 메시지를 보내는 작업이 포함됩니다.

HTTP 요청에는 무엇이 들어있을까요?

HTTP 요청은 웹 브라우저와 같은 인터넷 통신 플랫폼에서 웹 사이트를 로드하는 데 필요한 정보를 요청하는 방법입니다.

인터넷을 통해 이루어진 각 HTTP 요청은 서로 다른 유형의 정보를 전달하는 일련의 인코딩된 데이터를 전달합니다. 일반적인 HTTP 요청에는 다음이 포함됩니다.

  1. HTTP 버전 유형
  2. URL
  3. HTTP 메서드
  4. HTTP 요청 헤더
  5. 선택 사항인 HTTP 본문.

이러한 요청의 작동 방식과 요청 내용을 사용하여 정보를 공유하는 방법을 자세히 살펴보겠습니다.

보고서
DDoS 위협 현황: 2023년 3분기

보고서
2023년 4분기 DDoS 위협 환경 보고서 읽기

HTTP 메서드란?

HTTP 동사라고도 불리는 HTTP 메서드는 HTTP 요청이 쿼리된 서버에서 기대하는 작업을 나타냅니다. 예를 들어, 가장 일반적인 두 가지 HTTP 메서드는 'GET'과 'POST'입니다. 'GET' 요청은 응답으로 정보를 기대하는 반면(일반적으로 웹 사이트 형식으로) 'POST' 요청은 일반적으로 클라이언트가 웹 서버에 정보를 제출하고 있음을 나타냅니다(양식 정보 등. 예: 제출된 사용자 이름 및 비밀번호).

HTTP 요청 헤더란?

HTTP 헤더에는 키값 쌍에 저장된 텍스트 정보가 포함되어 있으며 헤더는 모든 HTTP 요청(및 응답, 추후 자세히 설명 예정)에 포함됩니다. 이러한 헤더는 클라이언트가 사용하는 브라우저 및 요청되는 데이터와 같은 핵심 정보를 전달합니다.

Google Chrome의 네트워크 탭에 있는 HTTP 요청 헤더의 예:

HTTP 요청 헤더

DDoS 방어
모든 Cloudflare 요금제에서 DDoS 방어 지원받기

HTTP 요청 본문에는 무엇이 들어있을까요?

요청의 본문은 요청에서 전송되는 정보의 '본문'을 포함하는 부분입니다. HTTP 요청의 본문에는 사용자 이름 및 비밀번호 또는 양식에 입력된 기타 데이터와 같이 웹 서버에 제출되는 모든 정보가 포함됩니다.

HTTP 응답에는 무엇이 들어있을까요?

HTTP 응답은 웹 클라이언트(종종 브라우저)에서 HTTP 요청에 대한 응답으로 인터넷 서버로부터 수신하는 응답입니다. 이러한 응답은 HTTP 요청에서 요청된 내용을 기반으로 중요한 정보를 전달합니다.

일반적인 HTTP 응답에는 다음이 포함됩니다.

  1. HTTP 상태 코드
  2. HTTP 응답 헤더
  3. 선택 사항인 HTTP 본문
  4. 이들을 세부적으로 살펴보겠습니다.

    HTTP 상태 코드란?

    HTTP 상태 코드는 HTTP 요청이 성공적으로 완료되었는지 여부를 나타내는 데 가장 자주 사용되는 3자리 코드입니다. 상태 코드는 다음 5개 블록으로 나뉩니다.

    1. 1XX 정보 제공
    2. 2XX 성공
    3. 3XX 리디렉션
    4. 4XX 클라이언트 오류
    5. 5XX 서버 오류
    6. "xx"는 00에서 99 사이의 다른 숫자들을 나타냅니다.

      숫자 '2'로 시작하는 상태 코드는 성공을 나타냅니다. 예를 들어 클라이언트가 웹 페이지를 요청한 후 가장 일반적으로 표시되는 응답의 상태 코드는 '200 OK'로, 요청이 제대로 완료되었음을 나타냅니다.

      응답이 '4' 또는 '5'로 시작하면 오류가 발생했음을 의미하며 웹 페이지가 표시되지 않습니다. '4'로 시작하는 상태 코드는 클라이언트 쪽 오류를 나타냅니다(URL에 오타가 생길 때 '404 NOT FOUND' 상태 코드가 발생하는 것이 아주 일반적입니다). '5'로 시작하는 상태 코드는 서버 쪽에서 문제가 발생했음을 의미합니다. 상태 코드는 '1'이나 '3'으로 시작할 수도 있으며, 이는 각각 정보 응답과 리디렉션을 나타냅니다.

      HTTP 응답 헤더란?

      HTTP 요청과 마찬가지로 HTTP 응답에는 응답 본문에서 전송되는 데이터의 언어 및 형식과 같은 중요한 정보를 전달하는 헤더가 함께 제공됩니다.

      Google Chrome 네트워크 탭에 있는 HTTP 응답 헤더의 예:

      HTTP 응답 헤더

      HTTP 응답 본문에는 무엇이 들어있을까요?

      'GET'요청에 대한 성공적인 HTTP 응답에는 일반적으로 요청된 정보가 포함된 본문이 있습니다. 대부분의 웹 요청의 경우 이는 웹 브라우저에서 웹 페이지로 변환되는 HTML 데이터입니다.

      HTTP를 통해 DDoS 공격이 시작될 수 있을까요?

      HTTP는 "상태 비저장" 프로토콜이므로 각 명령은 다른 명령과 독립적으로 실행됨을 유의하세요. 원래 사양에서 각각의 HTTP 요청은 TCP 연결을 생성하고 닫았습니다. 최신 버전의 HTTP 프로토콜(HTTP 1.1 이상)에서 영구 연결을 사용하면 여러 HTTP 요청이 영구 TCP 연결을 통해 전달되어 리소스 소비가 개선됩니다. DoS 또는 DDoS 공격 의 컨텍스트에서 대량의 HTTP 요청을 사용하여 대상 디바이스에 대한 공격을 개시할 수 있으며 이는 애플리케이션 계층 공격 또는 계층 7 공격의 일부로 간주됩니다.