CS/Network

[IT 용어] 페이로드(Payload)란?

테크리빗 2026. 1. 11. 12:42
반응형

IT 공부를 하다 보면 네트워크, 보안, 웹 개발 등 다양한 분야에서 '페이로드(Payload)'라는 단어를 접하게 되는데요

각 분야마다 의미가 미묘하게 다릅니다. 실제로 지인이 "페이로드가 뭐야?"라고 물었을 때, "음... 데이터? 그 문자열 같은 거?"라고 얼버무리며 감각적으로만 이해하고 있다는 사실을 깨달았습니다. 그래서 이번 기회에 이 용어를 확실하게 정리해보고자 합니다.

출처: Gemeni

 

 

페이로드(Payload)란

페이로드란 데이터 패킷 전송 시 헤더나 메타데이터 같은 부가 정보를 제외한 '유의미한 데이터', 다시 말해 전송의 목적이 되는 핵심 데이터를 의미합니다.

 

(참고) 이 용어는 원래 운송업에서 유래했습니다. 트럭이나 비행기로 화물을 나를 때, 차체의 무게나 운전자의 무게를 뺀 '운임 요금을 매길 수 있는 짐(화물)의 무게'를 페이로드라고 부릅니다. IT에서도 이와 마찬가지로 '운송 수단(헤더)'을 뺀 '진짜 짐(데이터)'을 뜻합니다.

 

네트워크 관점 (Networking)

네트워크 통신에서 페이로드는 '캡슐화(Encapsulation)' 개념과 뗄 수 없는 관계입니다.

우리가 카카오톡 메시지를 보낼 때, 메시지 데이터는 안정적인 전송을 위해 여러 계층의 포장지(헤더)에 싸서 전송됩니다. 이때 포장지를 모두 벗겨낸 가장 안쪽의 Data가 바로 페이로드입니다.

출처: http://www.tcpipguide.com/free/t_DataEncapsulationProtocolDataUnitsPDUsandServiceDa.htm#google_vignette

 

(참고) OSI 7 계층 모델에서 상위 계층의 데이터(페이로드)에 헤더가 붙어 하위 계층으로 내려가면, 하위 계층 입장에서는 그 전체가 다시 자신의 페이로드가 되는 상대적인 개념을 갖기도 합니다.

 

백엔드 관점 (Development)

웹 개발, 특히 API 통신에서는 서버와 클라이언트가 주고받는 핵심 데이터를 의미합니다. 주로 POST 방식으로 데이터를 전송할 때, JSON이나 XML 형식으로 바디(Body)에 담기는 데이터 객체 자체를 페이로드라고 부릅니다.

 

아래는 로그인 요청 시 사용되는 HTTP Request 예시입니다. 여기서 헤더를 제외한, 중괄호 {} 사이에 있는 JSON 데이터가 바로 페이로드입니다.

POST /api/login HTTP/1.1
Content-Type: application/json

{
  "username": "user123",  <-- 이 JSON 객체 전체가
  "password": "password"      HTTP 요청의 페이로드입니다.
}

 

정보 보안 관점 (Security)

보안 분야에서 페이로드는 조금 더 공격적인 의미를 가집니다. 공격자가 취약점을 이용해 시스템에 침투했을 때, 실제로 시스템에서 실행시키고자 하는 악성 행위의 코드를 말합니다.

 

보통 익스플로잇(Exploit)라는 용어와 혼동하곤 하는데, 아래와 같이 구분할 수 있습니다.

  • 익스플로잇(Exploit): 잠긴 문을 따는 도구 (취약점 공격 코드)
  • 페이로드(Payload): 문을 따고 들어가서 수행하는 도둑질 (데이터 탈취, 쉘 획득, 랜섬웨어 실행 등)

즉, 문을 여는 것까지가 익스플로잇이라면, 그 안에서 실제로 피해를 입히는 행위가 페이로드입니다.

 

 

반응형