TRACE

HTTP metode

HTTP metodes TRACE specifikācija

Metode TRACE pieprasa attālinātu pieprasījuma ziņojuma atkopēšanu lietojumlīmeņa cilpā. Pieprasījuma galīgais saņēmējs PIENĀCĪGI atspoguļo saņemto ziņojumu, izņemot dažus tālāk aprakstītos laukus, atpakaļ klientam kā 200 (OK) atbildes ziņojuma ķermeni ar Content-Type "message/http" ([RFC7230] 8.3.1. sadaļa). Galīgais saņēmējs ir vai nu izcelsmes serveris, vai pirmais serveris, kas pieprasījumā saņēmis Max-Forwards vērtību nulle (0) (5.1.2. iedaļa). Klients TRACE pieprasījumā NEDROŠINA ģenerēt galvenes laukus, kas satur sensitīvus datus, kurus varētu izpaust atbildē. Piemēram, lietotāja aģentam būtu muļķīgi TRACE pieprasījumā sūtīt saglabātos lietotāja akreditācijas datus [RFC7235] vai sīkfailus [RFC6265]. Pieprasījuma galīgajam saņēmējam, ģenerējot atbildes ķermeni, BŪTENS jāizslēdz visi pieprasījuma galvenes lauki, kas varētu saturēt sensitīvus datus.

TRACE ļauj klientam redzēt, kas tiek saņemts pieprasījuma ķēdes otrā galā, un izmantot šos datus testēšanai vai diagnostikas informācijai. Īpaši svarīga ir Via galvenes lauka vērtība ([RFC7230] 5.7.1. iedaļa), jo tā darbojas kā pieprasījuma ķēdes izsekošana. Raidījuma galvenes lauka Max-Forwards izmantošana ļauj klientam ierobežot pieprasījumu ķēdes garumu, kas ir noderīgi, lai testētu starpnieku ķēdi, kas pārsūta ziņojumus bezgalīgā cilpā.

Klients nedrīkst sūtīt ziņojuma ķermeni TRACE pieprasījumā.

Responses uz TRACE metodi nav kešējamas.

HTTP TRACE metodi RFC 7231. dokumenta 4.3.8. iedaļā ir precizējusi Interneta inženierijas darba grupa (IETF) un Pasaules tīmekļa konsorcijs (W3C).

TRACE metodes apraksts

nepabeigtie darbi

HTTP metodes TRACE piemērs

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