Sobes.tech
Intern

Welche Arten von HTTP-Anfragen gibt es?

sobes.tech KI

Antwort von AI

Hauptarten von HTTP-Anfragen: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT.

Beschreibung der häufigsten:

  • GET: Fordert die Ansicht einer angegebenen Ressource an. Anfragen mit dieser Methode sollten nur Daten abrufen.
  • POST: Sendet Daten zur Verarbeitung an eine bestimmte Ressource. Ein häufiges Ergebnis ist eine Zustandsänderung oder Nebenwirkungen auf dem Server.
  • PUT: Ersetzt alle aktuellen Darstellungen der Zielressource durch die Daten im Anfragekörper.
  • DELETE: Löscht die angegebene Ressource.
  • PATCH: Wendet partielle Änderungen an der Ressource an.
  • HEAD: Fordert die Header wie bei GET an, aber ohne den Antwortkörper. Wird verwendet, um Metadaten zu erhalten.
  • OPTIONS: Beschreibt die Kommunikationsparameter für die Zielressource.
  • CONNECT: Wandelt die angeforderte Verbindung in einen transparenten TCP/IP-Proxy um.
  • TRACE: Führt einen Rückmeldungstest auf dem Weg zur Zielressource durch.

Unterschiede zwischen GET und POST:

Merkmal GET POST
Zweck Daten abrufen Daten zur Verarbeitung senden
Datenübertragung Über URL-Parameter (Query String) Über den Anfragekörper
Sicherheit Idempotent (wiederholte Anfragen ändern den Zustand nicht) Nicht idempotent
Datensichtbarkeit Sichtbar in der URL, im Browserverlauf, Server-Logs Nicht sichtbar in der URL, nicht im Verlauf
Datengröße Begrenzung durch URL-Länge Ohne Begrenzung (oder sehr groß)
Caching Kann gecached werden Wird nicht durch Basismittel gecached
Lesezeichen Seite mit GET-Parametern kann zu Lesezeichen hinzugefügt werden Nicht möglich (bei normalen Formular-Methoden)

Beispiel für GET in PHP:

<?php
// Parameter 'id' aus URL holen
$userId = $_GET['id'];
echo "Benutzer-ID: " . htmlspecialchars($userId);
?>

Beispiel für POST in PHP (Verarbeitung von Formulardaten):

<?php
// Überprüfen, ob die Anfrage per POST erfolgt ist
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Daten aus dem Anfragekörper holen
    $username = $_POST['username'];
    $password = $_POST['password'];
    // Daten verarbeiten (z.B. in Datenbank speichern)
    echo "Benutzername: " . htmlspecialchars($username) . "<br>";
    echo "Passwort empfangen.";
}
?>