HTTP status kódy vysvětlené: co 200, 404, 502 znamenají pro monitoring
· 6 min čtení
Ve zkratce: HTTP status kód je trojciferné číslo, kterým server odpovídá na každý request. Skupina říká kategorii: 2xx = OK, 3xx = redirect, 4xx = chyba klienta, 5xx = chyba serveru. Z pohledu uptime monitoringu nás zajímají hlavně 5xx a 4xx anomálie.
Ve zkratce: HTTP status kód je trojciferné číslo, kterým server odpovídá na každý request. Skupina říká kategorii: 2xx = OK, 3xx = redirect, 4xx = chyba klienta, 5xx = chyba serveru. Z pohledu uptime monitoringu nás zajímají hlavně 5xx a 4xx anomálie.
Kategorie odpovědí
- 1xx Informational - přechodné odpovědi, klient běžně nezaznamená.
- 2xx Success - request proběhl úspěšně. 200 OK je default.
- 3xx Redirection - klient má jít jinam. 301 permanent, 302 dočasný.
- 4xx Client errors - klient poslal něco špatného. 404, 401, 403, 429.
- 5xx Server errors - server selhal. 500, 502, 503, 504.
2xx: úspěch
200 OK - standardní OK odpověď. Toto je "healthy" stav, pro který monitorujete.
201 Created - typicky odpověď na POST, který vytvořil nový resource. API klienti to očekávají.
204 No Content - úspěch, ale server nemá co vrátit. DELETE endpointy ho často používají.
206 Partial Content - server vrátil jen část (range request). Při streamingu videa nebo resumable download.
3xx: přesměrování
301 Moved Permanently - URL se natrvalo změnila. Google přenese SEO equity na novou URL. Použít při migraci domény, přechodu z HTTP na HTTPS, přechodu na www/non-www.
302 Found / 307 Temporary Redirect - dočasné přesměrování. Google nepřesune ranking. Použít při A/B testování, údržbě nebo když URL bude časem zpět.
308 Permanent Redirect - jako 301, ale zachová HTTP metodu (POST zůstane POST). 301 může klient přeměnit na GET.
304 Not Modified - klient má cache, server potvrzuje, že obsah se nezměnil. Šetří bandwidth.
Pro monitoring: Při kontrole 3xx odpovědí nakonfigurujte, zda má monitor sledovat redirect (follow) nebo považovat redirect za chybu. Některé DNS hijack útoky se projeví jako neočekávané 302.
4xx: chyba na straně klienta
400 Bad Request - syntaktická chyba v requestu. Malformed JSON, chybějící header, atd.
401 Unauthorized - chybějící nebo špatné credentials. Klient musí autentifikovat.
403 Forbidden - klient je autentifikován, ale nemá oprávnění. Pozor: některé servery vracejí 403 místo 401 z bezpečnostních důvodů (nezveřejnění existence resourcu).
404 Not Found - URL neexistuje. Pro monitoring nezáleží, pro SEO ano (uniká link equity).
405 Method Not Allowed - URL existuje, ale neakceptuje danou metodu (např. POST na endpoint, který očekává GET).
408 Request Timeout - server čekal na request příliš dlouho a uzavřel spojení.
409 Conflict - request je v konfliktu s aktuálním stavem (např. update verze, která už není aktuální).
410 Gone - resource byl natrvalo odstraněn. Lepší než 404 pro Google (signal, že se nemusí pokoušet reindexovat).
422 Unprocessable Entity - request je syntakticky OK, ale obsahuje sémanticky neplatná data (failed validation).
429 Too Many Requests - rate limit. Klient musí zpomalit. Server typicky přidává header Retry-After.
5xx: chyba na straně serveru
500 Internal Server Error - generická chyba. Backend vyhodil exception, kterou aplikace nezachytila. Vždy alarm pro monitoring.
501 Not Implemented - server nezná HTTP metodu (např. starý server nepodporuje PATCH).
502 Bad Gateway - reverse proxy (nginx, Cloudflare) nedostala odpověď z backend serveru. Typicky backend padl nebo timeoutoval.
503 Service Unavailable - server je přetížený nebo v údržbě. Často s Retry-After headerem. Toto je plánovaná odpověď, ne crash.
504 Gateway Timeout - reverse proxy čekala na backend déle než timeout. Backend běžně stále běží, jen pomalu.
520-525 Cloudflare errors - specifické pro Cloudflare. 520 = backend vrátil cokoli nečitelné, 522 = backend nereagoval (connection timeout), 524 = backend odpověděl příliš pomalu (origin timeout).
Praktická pravidla pro alerting
- Alert okamžitě: 500, 502, 503 (pokud není opravdu plánovaná údržba), 504, jakýkoli timeout
- Alert při opakování: jednorázový 5xx může být race condition; alert pokud stejný endpoint padá 2× po sobě
- Sledovat vzestupný trend: dlouhodobý růst 4xx může znamenat broken link, scraper attack nebo rozbitý frontend
- Ignorovat pro alerting: 200-399 v rámci očekávání (sledujte response time místo kódu)
Status code + response time = kompletní obraz
Sledovat jen status kód nestačí - server může vracet 200, ale za 30 sekund, což z pohledu zákazníka je výpadek. Kvalitní monitoring kombinuje:
- Očekávaný status kód (typicky 200)
- Maximální response time (typicky 5-10 sekund)
- Keyword match v obsahu (klíčové slovo, které musí být v HTML)
- SSL valid + ne před koncem platnosti
Výpadek kteréhokoli = alert.
Monitoring s přesnou klasifikací chyb
ePulz.io rozlišuje status kód, response time, keyword match i SSL stav. Logy pro každou kontrolu.
Vyzkoušejte ePulz.io zdarma - 7 dní bez kreditní karty.
Vytvořit účet