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