Sobes.tech
Intern

Aké typy HTTP požiadaviek existujú?

sobes.tech AI

Odpoveď od AI

Hlavné typy HTTP požiadaviek: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT.

Popis najbežnejších:

  • GET: Požaduje zobrazenie uvedeného zdroja. Táto požiadavka by mala získať iba údaje.
  • POST: Odosiela údaje na spracovanie na určený zdroj. Často je výsledkom zmena stavu alebo vedľajšie efekty na serveri.
  • PUT: Nahradí všetky aktuálne zobrazenia cieľového zdroja dátami z tela požiadavky.
  • DELETE: Odstráni uvedený zdroj.
  • PATCH: Aplikuje čiastočné úpravy na zdroj.
  • HEAD: Požaduje hlavičky ako GET, ale bez tela odpovede. Používa sa na získanie metadát.
  • OPTIONS: Opisuje parametre spojenia pre cieľový zdroj.
  • CONNECT: Premení požadované spojenie na transparentný TCP/IP proxy server.
  • TRACE: Vykonáva test spätného volania po ceste k cieľovému zdroju.

Rozdiely medzi GET a POST:

Príznak GET POST
Cieľ Získanie údajov Odoslanie údajov na spracovanie
Prenos údajov Prostredníctvom parametrov URL (Query String) Prostredníctvom tela požiadavky
Bezpečnosť Idempotentný (opakované požiadavky nemenia stav) Neidempotentný
Viditeľnosť údajov Viditeľné v URL, uložené v histórii prehliadača, logoch servera Neviditeľné v URL, neukladá sa v histórii prehliadača
Veľkosť údajov Obmedzená dĺžkou URL Bez obmedzení (alebo veľmi veľké)
Cacheovanie Môže byť cacheované Nie je cacheované základnými prostriedkami
Záložky Môže pridať stránku s GET parametrami do záložiek Nie je možné (pre bežné metódy odosielania formulárov)

Príklad použitia GET v PHP:

<?php
// Získanie parametra 'id' z URL
$userId = $_GET['id'];
echo "User ID: " . htmlspecialchars($userId);
?>

Príklad použitia POST v PHP (spracovanie údajov formulára):

<?php
// Kontrola, či požiadavka je metódou POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Získanie údajov z tela požiadavky
    $username = $_POST['username'];
    $password = $_POST['password'];
    // Ďalšie spracovanie údajov (napríklad uloženie do databázy)
    echo "Username: " . htmlspecialchars($username) . "<br>";
    echo "Password received.";
}
?>