Nel web i client (in questo caso il browser da voi uti­liz­za­to) uti­liz­za­no il pro­to­col­lo HTTP per co­mu­ni­ca­re con i server web. Questo serve a regolare come i client formulano le proprie richieste e di con­se­guen­za come deve ri­spon­de­re il server. Il pro­to­col­lo HTTP contiene diversi metodi di richiesta. Per questo motivo, vale la pena conoscere almeno quelli più co­mu­ne­men­te uti­liz­za­ti. In questo articolo vi spie­ghia­mo come funziona ognuno di questi tipi di richieste HTTP (HTTP request), uti­liz­zan­do dei semplici esempi.

Free Cloud Server Trial
Server virtuali pro­fes­sio­na­li di livello en­ter­pri­se
  • vServer basato su KVM per gli svi­lup­pa­to­ri
  • Integrato con IONOS Compute Engine
  • Scalabile fino al cloud aziendale Incl. € 200 di credito iniziale nel 1° mese

GET

GET è l’antenato delle richieste HTTP. Questo metodo di richiesta esiste dagli inizi del World Wide Web e svolge la funzione di ri­chie­de­re una risorsa, come ad esempio un file HTML, a un web server.

Digitando l’URL www.example.com nella barra di ricerca del vostro browser, questi si mette in col­le­ga­men­to con il server web e gli invia una richiesta di tipo GET:

GET /index.php

Il file index.php riportato in questo esempio non è altro che la pagina iniziale del sito, che verrà inviata dal server al vostro browser in risposta alla richiesta HTTP.

Ana­lo­ga­men­te, la richiesta dell’URL www.example.com/test.html verrebbe formulata così:

GET /test.html

Così il server in­vie­reb­be in risposta il file test.html.

Parametro URL

Alla richiesta GET possono essere allegate in­for­ma­zio­ni ag­giun­ti­ve da far elaborare al server web. Questi parametri URL vengono sem­pli­ce­men­te ag­gan­cia­ti all’URL. La sintassi è molto semplice:

  • La stringa della query (sinonimo di richiesta) si apre con un “?” (punto di domanda).
  • A ogni parametro viene dato un nome, composto da un nome e un valore: “Nome=Valore”
  • Nel caso in cui vengano assegnati più parametri, questi vengono collegati tra loro uti­liz­zan­do il carattere “&”.

Esempio: mentre si sta visitando il sito web di un’azienda che sviluppa software si clicca su “Windows” e dunque sulla categoria “Office”, per vedere le relative offerte, ri­chia­man­do­le così dal server:

GET /search?platform=Windows&category=office

La codifica URL della stringa query

Le stringhe query seguono una codifica par­ti­co­la­re, in quanto molti caratteri speciali pos­seg­go­no un si­gni­fi­ca­to specifico. Per esempio, il testo “che cos’è HTTP" viene co­di­fi­ca­to come qui di seguito riportato, per far sì che la stringa query venga accettata:

GET /search?thema=che%20cos%E2%80%99%C3%A8%20HTTP
Consiglio

Niente paura, non dovete imparare a memoria come si co­di­fi­ca­no i singoli caratteri speciali. Potete co­mo­da­men­te affidarvi al tool online URL Encoder, o uti­liz­za­re la funzione di Excel ENCODEURL (non da web app).

POST

Nel caso in cui vogliate inviare grandi quantità di dati, come un’immagine o i dati della com­pi­la­zio­ne di un modulo a un server, il metodo GET non è ideale, in quanto tutti i dati trasmessi vengono riportati aper­ta­men­te nella barra degli indirizzi del browser. Quello che fa per voi è il metodo POST. Il metodo POST scrive i parametri URL non al­l'in­ter­no dell’URL stesso, ma al­le­gan­do­li all’header HTTP.

Le richieste POST vengono prin­ci­pal­men­te uti­liz­za­te in relazione ai moduli da compilare online. Qui di seguito vi ri­por­tia­mo l’esempio di un for­mu­la­rio, nel quale viene richiesto il nome e l’indirizzo e-mail, e che viene inviato al server tramite POST:

<html>
<body>
<form action="newsletter.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
Consiglio

Nella nostra Digital Guide trovate un articolo di ap­pro­fon­di­men­to sulle dif­fe­ren­ze tra GET e POST.

HEAD

Il metodo HEAD serve a ri­chie­de­re l’header di risposta, o Response Header, senza però che il file venga inviato im­me­dia­ta­men­te in risposta. Questo torna par­ti­co­lar­men­te utile e sensato, nel caso in cui a essere trasmessi siano file di grandi di­men­sio­ni. Grazie alla richiesta HEAD il client riceve per prima cosa l’in­for­ma­zio­ne sulle di­men­sio­ni del file, così da poter decidere se ricevere il file oppure no.

Esempio:

HEAD /downloads/video1.mpeg HTTP/1.0

Nell’header di risposta del server, il client trova indicate le di­men­sio­ni del file nel campo dell’header “content length”:

OPTIONS

Con il metodo OPTIONS il client può ri­chie­de­re quali metodi supporta il server per il file in questione.

OPTIONS /download.php

Un esempio di risposta potrebbe apparire così:

Nel campo “allow” scopriamo che il server supporta i metodi OPTIONS, GET, HEAD e POST. Il numero 0 nel campo “content length”, ci informa invece che non è stato trasmesso alcun file, ma solamente l’header.

TRACE

Con il metodo TRACE può essere ri­co­strui­to il percorso di una richiesta HTTP fino al server e di ritorno dal server al client, ossia il browser in utilizzo. Questo lo potete fare uti­liz­zan­do il comando tracert, ammesso però che uti­liz­zia­te Windows come sistema operativo. Il fun­zio­na­men­to è semplice. Digitate il seguente comando nella riga di comando (cmd.exe):

tracert www.example.com

Metodi speciali

Alcuni metodi possono essere uti­liz­za­ti esclu­si­va­men­te con de­ter­mi­na­te con­fi­gu­ra­zio­ni spe­ci­fi­che. Tra questi vi sono il metodo CONNECT, che sta­bi­li­sce una con­nes­sio­ne diretta e protetta at­tra­ver­so un proxy (Tunneling), così come anche diversi metodi legati al WebDAV: PATCH, PRPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK.

PUT, PATCH e DELETE servono ri­spet­ti­va­men­te a salvare file sul server, a mo­di­fi­car­li e a can­cel­lar­li. Nella normale pro­gram­ma­zio­ne dei siti web questi metodi non svolgono alcun ruolo chiave, in quanto vengono bloccati dai server per motivi di sicurezza. Vengono però uti­liz­za­ti nell’ambito del WebDAV e in relazione con le REST API.

Vai al menu prin­ci­pa­le