AI 보이는 추론 실험실 · 글자와 UTF-8 바이트

AI가 HTTP Content-Length를 글자 수로 적어도 될까?

영문·한글·이모지 본문을 바꾸어 글자 수와 UTF-8 바이트 수를 비교하고, Content-Length에 들어갈 값을 검산합니다.

입문게시 2026-10-15읽기·실험 약 9분확인 문제 2개규칙 기반 실행한국논리학협회 자체 제작제작·검수 LTCT 편집부

네트워크 실험실에서 성인 남성 엔지니어가 한글 가 블록과 세 개의 바이트 블록을 패킷 시험기 옆에 놓고 비교하며 작은 갈색 안경 올빼미가 작업대 끝에 있는 장면
주제 이해를 돕기 위한 AI 생성 이미지 · LTCT 자체 제작
오늘의 질문

본문이 ‘가’ 한 글자라면 Content-Length도 1일까요?

한글 한 글자가 UTF-8 세 바이트로 인코딩되어 Content-Length는 글자 하나가 아니라 세 옥텟을 세는 관계도
한글 한 글자가 UTF-8 세 바이트로 인코딩되어 Content-Length는 글자 하나가 아니라 세 옥텟을 세는 관계도 · 한국논리학협회 자체 제작
그림 크게 보기 ↗
01

Content-Length는 글자가 아니라 옥텟을 셉니다

HTTP(에이치티티피, 웹 전송 규약) 메시지의 Content-Length(콘텐츠 렝스, 본문 길이)는 본문과 관련된 데이터 길이를 8비트 바이트 단위인 옥텟 수로 적습니다. 영문 A는 UTF-8에서 한 바이트이므로 글자 수와 바이트 수가 같습니다. 그러나 한글 가는 세 바이트이고, 이모지 일부는 네 바이트입니다.

따라서 본문이 가 한 글자라고 Content-Length: 1을 보내면 실제 세 바이트보다 짧게 선언한 셈입니다. 수신자가 그 숫자를 메시지 경계로 사용하면 뒤 두 바이트가 다음 데이터처럼 남아 파싱 오류나 연결 문제를 만들 수 있습니다.

참고 · IETF · RFC Editor — Content-Length가 세는 단위 ↗

02

인코딩한 뒤의 길이를 재야 합니다

활동에서 A, 가, A가, 🙂를 번갈아 고르세요. 화면은 사람이 보는 글자 수와 UTF-8 바이트 수를 나란히 보여 줍니다. 선언 길이를 바꾸면 실제 바이트 수와 일치하는지 즉시 판정합니다.

중요한 순서는 문자열을 먼저 정하고, 사용할 문자 인코딩으로 바이트열을 만든 뒤, 그 바이트열의 길이를 세는 것입니다. 자바스크립트 문자열의 length처럼 내부 코드 단위 수를 그대로 쓰면 이모지나 결합 문자를 잘못 셀 수 있습니다.

03

전송 조건이 달라지면 다시 계산합니다

본문을 압축하거나 다른 문자 인코딩으로 바꾸면 전송할 바이트열도 달라질 수 있습니다. HEAD·304처럼 실제 본문을 보내지 않는 응답에는 Content-Length를 쓸 수 있는 조건이 별도로 있습니다.

이 활동은 UTF-8로 직접 보낼 짧은 본문만 다룹니다. AI가 헤더를 만들 때는 프레임을 임의로 추측하지 말고, 실제 전송 계층이 만든 바이트열과 사용하는 HTTP 라이브러리의 계약을 확인해야 합니다.

직접 확인하기 · 규칙 기반 실행

본문과 선언 길이를 바꾸어 바이트 수와 비교하기

본문을 UTF-8로 보낸다고 가정해 인코딩 뒤 바이트 수를 셉니다. 압축, 전송 코딩, HTTP 버전별 프레이밍은 제외합니다.

본문가
사람이 보는 글자1개
UTF-8 바이트3바이트
선언 판정일치하지 않음
선언은 1이지만 실제 전송 길이는 3바이트입니다.

Content-Length는 글자 수가 아니라 전송할 옥텟 수를 나타냅니다.

관계를 읽고, 다른 상황에 적용하기

두 문제로 생각 확인

1UTF-8로 보낸 한글 ‘가’ 한 글자의 Content-Length는?
2Content-Length를 계산하는 올바른 순서는?

두 문제의 답을 모두 선택하면 해설을 볼 수 있습니다.

나의 설명으로 마무리

오늘 발견한 관계

0 / 4,000자

메모는 현재 기기의 브라우저에만 보관됩니다. 계정이나 다른 기기에는 동기화되지 않습니다.

출처와 제작 안내

원문을 참고해 설명·도표·문항·실험을 새로 작성했습니다. 별도 표시가 없는 사례와 수치는 학습을 위한 가상 예시입니다. 원문 번역이나 실제 모델의 성능 평가 자료가 아닙니다.

  1. Content-Length가 세는 단위 ↗IETF · RFC EditorRFC 9110 · HTTP Semantics §8.6 Content-Length

    Content-Length는 관련 표현 데이터의 길이를 옥텟, 곧 8비트 바이트 수로 나타낸다는 정의를 확인했습니다.