HTTP metody
HTTP je protokol – domluvený jazyk mezi prohlížečem a serverem. Každý požadavek má metodu která říká co chceme udělat.
GET
Žádám server o data. Parametry jsou viditelné v URL.
GET /search?query=python&page=2 HTTP/1.1
Host: google.com
- Používá se pro čtení stránek, vyhledávání, načítání souborů
- Lze bookmarkovat, sdílet URL
- Nikdy pro hesla – URL je vidět v historii, logu serveru
POST
Posílám data serveru. Parametry jsou skryté v těle požadavku.
POST /login HTTP/1.1
Host: server.com
Content-Type: application/x-www-form-urlencoded
username=admin&password=heslo
- Používá se pro přihlášení, formuláře, vytváření dat
- Data nejsou v URL
- Může posílat velká data (soubory atd.)
Další metody (méně časté)
PUT– aktualizuj existující dataDELETE– smaž dataPATCH– částečná aktualizaceOPTIONS– zjisti co server podporujeHEAD– jako GET ale bez těla odpovědi
HTTP Request struktura
METODA /cesta HTTP/1.1
Host: server.com
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0
Cookie: session=abc123
tělo požadavku (jen u POST, PUT, PATCH)
HTTP Response struktura
HTTP/1.1 200 OK
Content-Type: text/html
Set-Cookie: session=xyz
<!DOCTYPE html>...
Stavové kódy
200 OK – vše OK
301/302 Redirect – přesměrování
400 Bad Request – špatný požadavek
401 Unauthorized – nejsi přihlášen
403 Forbidden – nemáš oprávnění
404 Not Found – stránka neexistuje
500 Internal Error – chyba serveru
Query string vs tělo
GET /file?name=app.py&color=red ← parametry v URL
POST /login ← parametry v těle
username=admin&password=heslo