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 |