Metody požadavku HTTP


Co je HTTP?

Hypertext Transfer Protocol (HTTP) je navržen tak, aby umožňoval komunikaci mezi klienty a servery.

HTTP funguje jako protokol požadavek-odpověď mezi klientem a serverem.

Příklad: Klient (prohlížeč) odešle HTTP požadavek na server; potom server vrátí odpověď klientovi. Odpověď obsahuje stavové informace o požadavku a může také obsahovat požadovaný obsah.


HTTP metody

  • DOSTAT
  • POŠTA
  • DÁT
  • HLAVA
  • VYMAZAT
  • NÁPLAST
  • MOŽNOSTI

Dvě nejběžnější metody HTTP jsou: GET a POST.


Metoda GET

GET se používá k vyžádání dat ze zadaného zdroje.

GET je jednou z nejběžnějších metod HTTP.

Všimněte si, že řetězec dotazu (páry název/hodnota) je odeslán v URL požadavku GET:

/test/demo_form.php?name1=value1&name2=value2

Některé další poznámky k požadavkům GET:

  • Požadavky GET lze uložit do mezipaměti
  • Požadavky GET zůstávají v historii prohlížeče
  • Požadavky GET lze uložit do záložek
  • Požadavky GET by se nikdy neměly používat při práci s citlivými údaji
  • Požadavky GET mají omezení délky
  • Požadavky GET se používají pouze k vyžádání dat (neupravují se)

Metoda POST

POST se používá k odesílání dat na server k vytvoření/aktualizaci zdroje.

Data odeslaná na server pomocí POST jsou uložena v těle požadavku HTTP požadavku:

POST /test/demo_form.php HTTP/1.1
Host: w3schools.com

name1=value1&name2=value2

POST je jednou z nejběžnějších metod HTTP.

Některé další poznámky k požadavkům POST:

  • Požadavky POST se nikdy neukládají do mezipaměti
  • Požadavky POST nezůstávají v historii prohlížeče
  • Požadavky POST nelze přidat do záložek
  • Požadavky POST nemají žádná omezení na délku dat


Metoda PUT

PUT se používá k odesílání dat na server k vytvoření/aktualizaci zdroje.

Rozdíl mezi POST a PUT je v tom, že požadavky PUT jsou idempotentní. To znamená, že volání stejného požadavku PUT vícekrát bude vždy generovat stejný výsledek. Naproti tomu opakované volání požadavku POST má vedlejší efekty vytváření stejného zdroje vícekrát.


Metoda HEAD

HEAD je téměř identický s GET, ale bez těla odpovědi.

Jinými slovy, pokud GET /users vrátí seznam uživatelů, pak HEAD /users provede stejný požadavek, ale nevrátí seznam uživatelů.

Požadavky HEAD jsou užitečné pro kontrolu toho, co vrátí požadavek GET, než skutečně provedete požadavek GET – jako před stažením velkého souboru nebo těla odpovědi.


Metoda DELETE

Metoda DELETE odstraní zadaný prostředek.


Metoda OPTIONS

Metoda OPTIONS popisuje možnosti komunikace pro cílový zdroj.


Porovnejte GET a POST

Následující tabulka porovnává dvě metody HTTP: GET a POST.

  GET POST
BACK button/Reload Harmless Data will be re-submitted (the browser should alert the user that the data are about to be re-submitted)
Bookmarked Can be bookmarked Cannot be bookmarked
Cached Can be cached Not cached
Encoding type application/x-www-form-urlencoded application/x-www-form-urlencoded or multipart/form-data. Use multipart encoding for binary data
History Parameters remain in browser history Parameters are not saved in browser history
Restrictions on data length Yes, when sending data, the GET method adds the data to the URL; and the length of a URL is limited (maximum URL length is 2048 characters) No restrictions
Restrictions on data type Only ASCII characters allowed No restrictions. Binary data is also allowed
Security GET is less secure compared to POST because data sent is part of the URL

Never use GET when sending passwords or other sensitive information!
POST is a little safer than GET because the parameters are not stored in browser history or in web server logs
Visibility Data is visible to everyone in the URL Data is not displayed in the URL