4.1 Elenco dei metodi HTTP
La prima parola in una richiesta HTTP è il nome del metodo . C'è anche qualche analogia con i metodi di chiamata in Java. Il metodo nella richiesta HTTP definisce l'operazione di base da eseguire sulla risorsa.
Che tipo di risorsa? Il fatto è che agli albori del World Wide Web, i server memorizzavano semplicemente file HTML, rispettivamente, la richiesta era per tale file e descriveva alcune azioni che devono essere eseguite con la risorsa / file.
Lo standard HTTP specifica i seguenti metodi:
# | Metodo | Descrizione |
---|---|---|
1 | OTTENERE | Utilizzato per interrogare il contenuto della risorsa specificata. |
2 | INVIARE | Utilizzato per trasferire i dati dal client al server. Modifica lo stato di una risorsa sul server. |
3 | METTERE | Utilizzato per trasferire i dati dal client al server. Crea una nuova risorsa sul server. |
4 | ELIMINARE | Elimina la risorsa specificata sul server. |
5 | TESTA | Simile a GET, ma non esiste un corpo della risposta. Necessario per ottenere le intestazioni di risposta |
6 | OPZIONI | Richiede al server un elenco di metodi supportati per la risorsa specificata. |
7 | TRACCIA | metodo di servizio. Consente di scoprire se la richiesta viene modificata dai server attraverso i quali passa. |
8 | COLLEGARE | metodo di servizio. Utilizzato per stabilire una connessione sicura. |
4.2 Metodo GET
Il metodo GET è il metodo HTTP più popolare. Questo è ciò che il browser chiama quando invia una richiesta al server per la pagina successiva.
Ad esempio, se hai seguito il collegamento http://codegym.cc/path/resource?param1=value1¶m2=value2 nel browser, il browser invierà una richiesta HTTP al server CodeGym che inizierà con questa riga iniziale :
GET /path/resource?param1=value1¶m2=value2 HTTP/1.1
Di conseguenza, il server dovrà inviare una risposta HTTP al browser, in cui scrivere lo stato della richiesta e inviare anche la risorsa richiesta.
Si presuppone che chiamare il metodo GET più volte non modifichi lo stato del server e che il server debba restituire ogni volta la stessa risposta . Pertanto, il protocollo ha un controllo complicato sulla memorizzazione nella cache degli oggetti.
In primo luogo, le risorse ricevute utilizzando la richiesta GET, il browser può memorizzarle nella cache a sua discrezione (ci sono sfumature).
In secondo luogo, quando si invia una richiesta al server, è possibile specificare un'intestazione speciale If-Modified-Since
e date
. Se la risorsa/documento richiesto è cambiato dalla data specificata, il server lo invierà. Se non viene modificato, il corpo della risorsa non viene passato. Si presuppone che sia memorizzato nella cache sul client.
La memorizzazione nella cache delle pagine (richieste GET) viene utilizzata sempre, quindi ti consiglio di esaminare questo problema.
4.3 Metodi POST e PUT
Il metodo POST viene utilizzato per aggiornare una risorsa sul server. Ad esempio, quando carichi un'immagine sul server, il tuo browser invia una richiesta POST.
Considera una richiesta HTTP che inizierà con questa riga iniziale:
POST /path/resource?param1=value1¶m2=value2 HTTP/1.1
headers…
<request body>
Di conseguenza, il server dovrà inviare una risposta HTTP al browser, in cui scriverà lo stato della richiesta e invierà anche la risorsa modificata. Chiamare il metodo POST più volte cambia lo stato del server e il server può restituire ogni volta una risposta diversa .
GET e POST sono le due richieste più comuni sul web. Per aiutarti a ricordare più facilmente come funzionano i metodi, considera la seguente tabella:
OTTENERE | INVIARE | METTERE | |
---|---|---|---|
Richiesta | Solo URL | URL e corpo della richiesta | URL e corpo della richiesta |
Risposta | Codice e corpo della risposta | Codice e corpo della risposta | Codice di risposta |
Puoi leggere di più sulla richiesta POST al link .
4.4 Metodo DELETE
E infine, informazioni sul metodo DELETE . Tutto è semplice qui.
Ad esempio, vogliamo eliminare una determinata risorsa sul server. Gli inviamo una richiesta del tipo:
DELETE /path/resource?param1=value1¶m2=value2 HTTP/1.1
Dopo aver ricevuto questa richiesta, il server eliminerà la risorsa specificata. A meno che, ovviamente, tu non abbia i diritti per eliminarlo.
GO TO FULL VERSION