HTTP - Metodi

Il set di metodi comuni per HTTP / 1.1 è definito di seguito e questo set può essere espanso in base ai requisiti. Questi nomi di metodo fanno distinzione tra maiuscole e minuscole e devono essere utilizzati in maiuscolo.

SN Metodo e descrizione
1 GET

Il metodo GET viene utilizzato per recuperare le informazioni da un determinato server utilizzando un determinato URI. Le richieste che utilizzano GET dovrebbero solo recuperare i dati e non dovrebbero avere altri effetti sui dati.

2 HEAD

Uguale a GET, ma trasferisce solo la riga di stato e la sezione dell'intestazione.

3 POST

Una richiesta POST viene utilizzata per inviare dati al server, ad esempio, informazioni sul cliente, caricamento di file, ecc. Utilizzando moduli HTML.

4 PUT

Sostituisce tutte le rappresentazioni correnti della risorsa di destinazione con il contenuto caricato.

5 DELETE

Rimuove tutte le rappresentazioni correnti della risorsa di destinazione fornita da un URI.

6 CONNECT

Stabilisce un tunnel al server identificato da un dato URI.

7 OPTIONS

Descrive le opzioni di comunicazione per la risorsa di destinazione.

8 TRACE

Esegue un test di loopback dei messaggi lungo il percorso della risorsa di destinazione.

Metodo GET

Una richiesta GET recupera i dati da un server Web specificando i parametri nella parte URL della richiesta. Questo è il metodo principale utilizzato per il recupero dei documenti. L'esempio seguente utilizza il metodo GET per recuperare hello.htm:

GET /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

La risposta del server alla richiesta GET di cui sopra sarà la seguente:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>

Metodo HEAD

Il metodo HEAD è funzionalmente simile a GET, tranne per il fatto che il server risponde con una riga di risposta e intestazioni, ma senza corpo dell'entità. L'esempio seguente utilizza il metodo HEAD per recuperare le informazioni di intestazione su hello.htm:

HEAD /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

La risposta del server alla richiesta GET di cui sopra sarà la seguente:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed

Puoi notare che qui il server non invia alcun dato dopo l'intestazione.

Metodo POST

Il metodo POST viene utilizzato quando si desidera inviare alcuni dati al server, ad esempio, l'aggiornamento del file, i dati del modulo, ecc. L'esempio seguente utilizza il metodo POST per inviare i dati del modulo al server, che verrà elaborato da un process.cgi e infine verrà restituita una risposta:

POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Content-Type: text/xml; charset=utf-8
Content-Length: 88
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://clearforest.com/">string</string>

Lo script lato server process.cgi elabora i dati passati e invia la seguente risposta:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1>Request Processed Successfully</h1>
</body>
</html>

Metodo PUT

Il metodo PUT viene utilizzato per richiedere al server di memorizzare il corpo dell'entità incluso in una posizione specificata dall'URL fornito. L'esempio seguente richiede al server di salvare il corpo dell'entità specificato inhello.htm alla radice del server:

PUT /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Connection: Keep-Alive
Content-type: text/html
Content-Length: 182
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>

Il server memorizzerà il corpo dell'entità specificato in hello.htm file e invierà la seguente risposta al client:

HTTP/1.1 201 Created
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
<html>
<body>
<h1>The file was created.</h1>
</body>
</html>

Metodo DELETE

Il metodo DELETE viene utilizzato per richiedere al server di eliminare un file in una posizione specificata dall'URL fornito. L'esempio seguente richiede al server di eliminare il file specificatohello.htm alla radice del server:

DELETE /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Connection: Keep-Alive

Il server eliminerà il file menzionato hello.htm e invierà la seguente risposta al cliente:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
<html>
<body>
<h1>URL deleted.</h1>
</body>
</html>

Metodo CONNECT

Il metodo CONNECT viene utilizzato dal client per stabilire una connessione di rete a un server Web su HTTP. L'esempio seguente richiede una connessione con un server Web in esecuzione sull'host tutorialspoint.com:

CONNECT www.tutorialspoint.com HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

La connessione viene stabilita con il server e la seguente risposta viene inviata al client:

HTTP/1.1 200 Connection established
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)

Metodo OPZIONI

Il metodo OPTIONS viene utilizzato dal client per scoprire i metodi HTTP e altre opzioni supportate da un server web. Il client può specificare un URL per il metodo OPTIONS o un asterisco (*) per fare riferimento all'intero server. L'esempio seguente richiede un elenco di metodi supportati da un server Web in esecuzione su tutorialspoint.com:

OPTIONS * HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

Il server invierà un'informazione basata sulla configurazione corrente del server, ad esempio:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Type: httpd/unix-directory

Metodo TRACE

Il metodo TRACE viene utilizzato per restituire al richiedente il contenuto di una richiesta HTTP che può essere utilizzata per scopi di debug al momento dello sviluppo. L'esempio seguente mostra l'utilizzo del metodo TRACE:

TRACE / HTTP/1.1
Host: www.tutorialspoint.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

Il server invierà il seguente messaggio in risposta alla richiesta di cui sopra:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Connection: close
Content-Type: message/http
Content-Length: 39

TRACE / HTTP/1.1
Host: www.tutorialspoint.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)