TRACE

HTTP-menetelmä

HTTP-menetelmän TRACE määrittely

TRACE-menetelmä pyytää sovellustason etäpalautetta pyyntöviestistä. Pyynnön lopullisen vastaanottajan PITÄÄ heijastaa vastaanotettu viesti, lukuun ottamatta joitakin jäljempänä kuvattuja kenttiä, takaisin asiakkaalle 200 (OK) -vastauksen viestirunkona, jonka Content-Type on "message/http" ([RFC7230]:n 8.3.1 kohta). Lopullinen vastaanottaja on joko alkuperäpalvelin tai ensimmäinen palvelin, joka on saanut pyynnön Max-Forwards-arvoksi nolla (0) (kohta 5.1.2). Asiakas EI SAA luoda TRACE-pyynnössä otsikkokenttiä, jotka sisältävät arkaluonteisia tietoja, jotka vastaus saattaa paljastaa. Olisi esimerkiksi typerää, jos käyttäjäagentti lähettäisi TRACE-pyynnössä tallennettuja käyttäjän tunnistetietoja [RFC7235] tai evästeitä [RFC6265]. Pyynnön lopullisen vastaanottajan PITÄÄ sulkea pois kaikki pyynnön otsikkokentät, jotka todennäköisesti sisältävät arkaluonteisia tietoja, kun tämä vastaanottaja luo vastauksen rungon.

TRACE:n avulla asiakas voi nähdä, mitä pyyntöjen ketjun toisessa päässä vastaanotetaan, ja käyttää näitä tietoja testaukseen tai diagnostiikkaan. Via-otsakekentän arvo ([RFC7230], kohta 5.7.1) on erityisen kiinnostava, koska se toimii pyyntöketjun jäljittäjänä. Max-Forwards-otsakekentän avulla asiakas voi rajoittaa pyyntöketjun pituutta, mikä on hyödyllistä testattaessa ketjua, jossa välityspalvelimet välittävät viestejä eteenpäin loputtomassa silmukassa.

Asiakas EI SAA lähettää viestirunkoa TRACE-pyynnössä.

TRACE-menetelmän vastaukset eivät ole välimuistitallennettavissa.

Kaikki TRACE-pyynnöt eivät ole välimuistissa.
IETF (Internet Engineering Task Force) ja W3C (World Wide Web Consortium) ovat määritelleet HTTP-menetelmän TRACE asiakirjan RFC 7231 kohdassa 4.3.8.

Menetelmän TRACE kuvaus

keskeneräinen työ

Esimerkki HTTP-menetelmästä 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