Intern
Jaké typy HTTP požadavků existují?
sobes.tech AI
Odpověď od AI
Hlavní typy HTTP požadavků: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT.
Popis nejběžnějších:
- GET: Požaduje zobrazení určeného zdroje. Požadavky s touto metodou by měly získávat pouze data.
- POST: Odesílá data ke zpracování na specifický zdroj. Častým výsledkem je změna stavu nebo vedlejší efekty na serveru.
- PUT: Nahrazuje všechny aktuální zobrazení cílového zdroje daty z těla požadavku.
- DELETE: Odstraňuje specifikovaný zdroj.
- PATCH: Aplikuje částečné úpravy na zdroj.
- HEAD: Požaduje hlavičky jako u
GET, ale bez těla odpovědi. Používá se pro získání metadat. - OPTIONS: Popisuje parametry komunikace pro cílový zdroj.
- CONNECT: Převádí požadované spojení na průhledný TCP/IP proxy.
- TRACE: Provádí test zpětné vazby na cestě ke cílovému zdroji.
Rozdíly mezi GET a POST:
| Vlastnost | GET | POST |
|---|---|---|
| Účel | Získání dat | Odeslání dat ke zpracování |
| Přenos dat | Přes URL parametry (Query String) | Přes tělo požadavku |
| Bezpečnost | Idempotentní (opakované požadavky nemění stav) | Neidempotentní |
| Viditelnost dat | Viditelné v URL, ukládáno v historii prohlížeče, logy serveru | Neviditelné v URL, neukládáno v historii prohlížeče |
| Velikost dat | Omezeno délkou URL | Bez omezení (nebo velmi velké) |
| Caching | Může být cachováno | Není cachováno základními prostředky |
| Záložky | Lze přidat stránku s parametry GET do záložek | Nelze (pro běžné metody odesílání formulářů) |
Příklad použití GET v PHP:
<?php
// Získání parametru 'id' z URL
$userId = $_GET['id'];
echo "ID uživatele: " . htmlspecialchars($userId);
?>
Příklad použití POST v PHP (zpracování dat formuláře):
<?php
// Kontrola, zda je požadavek metodou POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Získání dat z těla požadavku
$username = $_POST['username'];
$password = $_POST['password'];
// Zpracování dat (například uložení do databáze)
echo "Uživatelské jméno: " . htmlspecialchars($username) . "<br>";
echo "Heslo přijato.";
}
?>