HTTP 1.0

(metodo POST)

Una richiesta POST viene usata per mandare al server dei dati da processare, di solito tramite uno script CGI. Una richiesta POST differisce da una richiesta GET per il fatto che:

  • c'è un blocco di dati mandato con la richiesta, nel corpo del messaggio e degli header extra che descrivono il body, come Content-Type: e Content-Length:
  • l'URI richiesta non è una risorsa da reperire; è di solito un programma che prende come input i dati inviati
  • la risposta è di solito l'output di un programma, non un file statico

L'uso più comune di POST si ha quando si inviano i dati di una form HTML ad uno script CGI. In tal caso, l'header Content-Type: vale application/x-www-form-urlencoded e l'header Content-Length: indica la lunghezza dei dati del form URL-codificati. Lo script CGI riceve il corpo del messaggio tramite lo STDIN e lo decodifica. Es. di sottomissione di un form tramite POST:

POST /poll.cgi HTTP/1.0
From: ant@tequila.rett.polimi.it
User-Agent: HTTPTool/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 48

professione=programmatore&sistema+operativo=Unix

Per la sottomissione dei dati di una form il metodo POST andrebbe sempre usato al posto del metodo GET quando i dati sono molti o ci sono degli effetti permanenti sul server dopo la sottomissione.

In generale una richiesta POST può essere usata per mandare qualsiasi tipo di dati, non solo quelli di una form. Occorre solo assicurarsi che il programma che invia e quello che riceve siano daccordo sul formato da usare.

<- indietro indice avanti ->