Sobes.tech
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.";
}
?>