2.2.5. Obiettivo della richiesta (Request Target)
2.2.5. Obiettivo della richiesta (Request Target)
Il componente derivato @request-target si riferisce all'obiettivo completo della richiesta (request target) del messaggio di richiesta HTTP, come definito in [HTTP], Sezione 7.1. Il valore del componente dell'obiettivo della richiesta può assumere forme diverse, a seconda del tipo di richiesta, come descritto di seguito.
Per HTTP/1.1, il valore del componente è equivalente alla porzione request target della riga di richiesta. Tuttavia, questo valore è più difficile da costruire in modo affidabile in altre versioni di HTTP. Pertanto, NON È RACCOMANDATO usare questo componente quando potrebbero essere in uso versioni di HTTP diverse da 1.1.
Il valore in forma origin (origin form) è una combinazione dei componenti path assoluto e query dell'URL della richiesta.
Ad esempio, il seguente messaggio di richiesta:
POST /path?param=value HTTP/1.1 Host: www.example.com
produrrebbe il seguente valore del componente @request-target:
/path?param=value
e la seguente riga della base della firma:
"@request-target": /path?param=value
La seguente richiesta a un proxy HTTP con valore in forma assoluta (absolute-form), contenente l'URI di destinazione completo:
GET https://www.example.com/path?param=value HTTP/1.1
produrrebbe il seguente valore del componente @request-target:
https://www.example.com/path?param=value
e la seguente riga della base della firma:
"@request-target": https://www.example.com/path?param=value
La seguente richiesta CONNECT con valore in forma authority (authority-form), contenente host e porta dell'obiettivo:
CONNECT www.example.com:80 HTTP/1.1 Host: www.example.com
produrrebbe il seguente valore del componente @request-target:
e la seguente riga della base della firma:
"@request-target": www.example.com:80
La seguente richiesta OPTIONS con valore in forma asterisco (asterisk-form), contenente un singolo carattere asterisco (*):
OPTIONS * HTTP/1.1 Host: www.example.com
produrrebbe il seguente valore del componente @request-target:
e la seguente riga della base della firma:
"@request-target": *