Intern
Quali sono i tipi di richieste HTTP?
sobes.tech AI
Risposta dell'AI
Principali tipi di richieste HTTP: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT.
Descrizione di quelle più comuni:
- GET: Richiede la visualizzazione di una risorsa specificata. Le richieste con questo metodo devono ottenere solo dati.
- POST: Invia dati per essere elaborati da una risorsa specifica. Un risultato frequente è un cambiamento di stato o effetti collaterali sul server.
- PUT: Sostituisce tutte le visualizzazioni attuali della risorsa target con i dati del corpo della richiesta.
- DELETE: Elimina la risorsa specificata.
- PATCH: Applica modifiche parziali alla risorsa.
- HEAD: Richiede gli header come
GET, ma senza il corpo della risposta. Usato per ottenere metadati. - OPTIONS: Descrive i parametri di comunicazione per la risorsa target.
- CONNECT: Trasforma la connessione richiesta in un proxy TCP/IP trasparente.
- TRACE: Esegue un test di feedback sul percorso verso la risorsa target.
Differenze tra GET e POST:
| Caratteristica | GET | POST |
|---|---|---|
| Obiettivo | Ottenere dati | Inviare dati per elaborazione |
| Trasmissione dati | Tramite parametri URL (Query String) | Tramite il corpo della richiesta |
| Sicurezza | Idempotente (le richieste ripetute non cambiano lo stato) | Non idempotente |
| Visibilità dati | Visibili nell'URL, salvati nella cronologia del browser, log del server | Non visibili nell'URL, non salvati nella cronologia del browser |
| Dimensione dati | Limitata dalla lunghezza dell'URL | Illimitata (o molto grande) |
| Caching | Può essere memorizzato nella cache | Non memorizzato nella cache di base |
| Segnalibri | È possibile aggiungere una pagina con parametri GET ai segnalibri | Non possibile (per metodi di invio di moduli normali) |
Esempio di utilizzo di GET in PHP:
<?php
// Ottenere il parametro 'id' dall'URL
$userId = $_GET['id'];
echo "ID utente: " . htmlspecialchars($userId);
?>
Esempio di utilizzo di POST in PHP (elaborazione dati di un modulo):
<?php
// Verificare se la richiesta è tramite POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Ottenere i dati dal corpo della richiesta
$username = $_POST['username'];
$password = $_POST['password'];
// Elaborare i dati (ad esempio, salvarli nel database)
echo "Nome utente: " . htmlspecialchars($username) . "<br>";
echo "Password ricevuta.";
}
?>