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