TE
요청 헤더 General

개요

TE는 클라이언트가 응답에서 받아들일 수 있는 전송 코딩(transfer coding)과 트레일러 수용 여부를 서버에 알리는 요청 헤더입니다. Accept-Encoding의 '전송(홉 단위)' 버전이라 할 수 있습니다.

값으로는 `gzip`·`deflate` 같은 전송 압축과, 특별 토큰 `trailers`(트레일러 헤더 수용)를 나열합니다(예: `TE: trailers, gzip`).

자세히

핵심은 종단 간 콘텐츠 코딩(Content-Encoding/Accept-Encoding)과 홉 단위 전송 코딩(Transfer-Encoding/TE)의 구분입니다. Content-Encoding은 리소스 표현 자체의 압축이라 종단 간 보존되지만, Transfer-Encoding은 인접한 두 노드 사이의 전송 방식이라 홉마다 달라질 수 있습니다. TE는 후자에 대한 클라이언트의 수용 능력을 표현합니다.

가장 실용적인 값은 `trailers`입니다. Transfer-Encoding: chunked로 본문을 스트리밍할 때, 본문을 다 보낸 뒤 계산 가능한 정보(예: 무결성 다이제스트, 서명, 처리 상태)를 마지막 트레일러 헤더로 덧붙일 수 있는데, 클라이언트가 `TE: trailers`로 이를 받아들이겠다고 밝혀야 서버가 Trailer 헤더와 함께 트레일러를 보냅니다.

TE는 홉 단위 헤더이므로 명세상 Connection 헤더의 목록에 포함되어 다음 홉으로 넘어가지 않고 각 연결에서 소비됩니다. HTTP/2·HTTP/3에서는 전송 계층이 프레이밍·압축을 자체 처리하므로 `chunked`·`gzip` 전송 코딩 개념이 사라지고, TE는 사실상 `trailers`만 의미를 갖습니다(그 외 값은 금지).

문법

TE: <transfer-coding>[;q=<weight>][, ...]

e.g. TE: trailers, gzip

지시어 / 값

trailers청크 전송의 마지막에 붙는 트레일러(후행) 헤더를 받아들일 수 있음을 표시. 값이 없는 특수 토큰.
gzip홉 단위 전송 압축으로 gzip을 수용. Accept-Encoding(종단 간)과 별개.
chunked청크 전송 코딩. HTTP/1.1에서는 항상 지원되므로 명시하지 않아도 됨.
q=<0.0~1.0>각 전송 코딩의 선호 가중치.

실무 참고

관련 헤더

스펙 근거