TRACE

HTTP 메서드

HTTP 메서드 TRACE의 사양

TRACE 메서드는 요청 메시지의 원격 애플리케이션 수준 루프백을 요청합니다. 요청의 최종 수신자는 아래에 설명된 일부 필드를 제외하고 수신한 메시지를 Content-Type이 "message/http"인 200(OK) 응답의 메시지 본문으로 클라이언트에 다시 반영해야 합니다([RFC7230] 8.3.1 절). 최종 수신자는 원본 서버 또는 요청에서 Max-Forwards 값이 0(0)인 첫 번째 서버입니다(섹션 5.1.2). 클라이언트는 응답에 의해 공개될 수 있는 민감한 데이터가 포함된 TRACE 요청의 헤더 필드를 생성해서는 안 됩니다. 예를 들어, 사용자 에이전트가 저장된 사용자 자격 증명[RFC7235] 또는 쿠키[RFC6265]를 TRACE 요청에 전송하는 것은 어리석은 일입니다. 요청의 최종 수신자는 응답 본문을 생성할 때 민감한 데이터를 포함할 가능성이 있는 모든 요청 헤더 필드를 제외해야 합니다.

TRACE를 사용하면 클라이언트가 요청 체인의 다른 쪽 끝에서 수신되는 내용을 확인하고 해당 데이터를 테스트 또는 진단 정보로 사용할 수 있습니다. Via 헤더 필드([RFC7230] 섹션 5.7.1)의 값은 요청 체인의 추적 역할을 하므로 특히 중요합니다. Max-Forwards 헤더 필드를 사용하면 클라이언트가 요청 체인의 길이를 제한할 수 있으므로 무한 루프에서 메시지를 전달하는 프록시 체인을 테스트하는 데 유용합니다.

클라이언트는 TRACE 요청에 메시지 본문을 보내서는 안 됩니다.

TRACE 메서드의 응답은 캐시할 수 없습니다.

HTTP 메서드(TRACE)는 인터넷 엔지니어링 태스크포스(IETF) 및 월드와이드웹 컨소시엄(W3C)에 의해 문서 RFC 7231의 섹션 4.3.8에 명시되어 있습니다.

TRACE 메서드에 대한 설명

진행 중인 작업

HTTP 메서드 TRACE의 예

Request header:
TRACE /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
Response header:
Content-Type: message/http
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache

Response body (echoed request):
TRACE /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive