HTTP status kódy vysvětlené: co 200, 404, 502 znamenají pro monitoring
· 6 min čtení
HTTP status kód je odpověď serveru: 2xx OK, 3xx redirect, 4xx chyba klienta, 5xx chyba serveru. Co znamenají a které sledovat při monitoringu.
Kategorie odpovědí
- 1xx Informational - přechodné odpovědi, klient je běžně nezaznamená.
- 2xx Success - request proběhl úspěšně. 200 OK je výchozí odpověď.
- 3xx Redirection - klient má jít jinam. 301 trvale, 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, který monitorujete.
201 Created - typicky odpověď na POST, který vytvořil nový resource. API klienti ji očekávají.
204 No Content - úspěch, ale server nemá co vrátit. Často ho používají DELETE endpointy.
206 Partial Content - server vrátil jen část (range request). Při streamování videa nebo resumable downloadu.
3xx: přesměrování
301 Moved Permanently - URL se natrvalo změnila. Google přenese SEO equity na novou URL. Použijte při migraci domény, přechodu z HTTP na HTTPS nebo přechodu na www/non-www.
302 Found / 307 Temporary Redirect - dočasné přesměrování. Google nepřesune ranking. Použijte při A/B testování, údržbě nebo když se URL časem vrátí.
308 Permanent Redirect - jako 301, ale zachová HTTP metodu (POST zůstane POST). U 301 může klient metodu změnit na GET.
304 Not Modified - klient má cache, server potvrzuje, že se obsah nezměnil. Šetří bandwidth.
Pro monitoring: Při kontrole 3xx odpovědí nakonfigurujte, zda má monitor přesměrování sledovat (follow), nebo ho považovat 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. Pokažený JSON, chybějící header a podobně.
401 Unauthorized - chybějící nebo špatné credentials. Klient se 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 uptime monitoring sledovaných stránek je 404 alert (stránka zmizela); náhodné 404 od cizích návštěvníků jsou spíš SEO problém (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. Pro Google lepší než 404 (signál, že se nemusí pokoušet o reindexaci).
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á danou 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 headerem Retry-After. Toto je plánovaná odpověď, ne crash.
504 Gateway Timeout - reverse proxy čekala na backend déle než timeout. Backend obvykle stále běží, jen pomalu odpovídá.
520-525 Cloudflare errors - specifické pro Cloudflare. 520 = backend vrátil něco nečitelného, 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 nejde opravdu o plánovanou údržbu), 504, jakýkoli timeout
- Alert při opakování: jednorázový 5xx může být race condition; alert spusťte, pokud stejný endpoint padá 2x 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í (místo kódu sledujte dobu odezvy)
Stavový kód + doba odezvy = kompletní obraz
Sledovat jen status kód nestačí - server může vracet 200, ale za 30 sekund, což je z pohledu zákazníka výpadek. Kvalitní monitoring kombinuje:
- Očekávaný status kód (typicky 200)
- Maximální doba odezvy (typicky 5-10 sekund)
- Shoda klíčového slova v obsahu (klíčové slovo, které musí být v HTML)
- SSL platný a ne blízko konce platnosti
Výpadek kteréhokoli z nich = alert.
Monitoring s přesnou klasifikací chyb
ePulz.io rozlišuje stavový kód, dobu odezvy, shodu klíčového slova i SSL stav. K dispozici jsou podrobné logy pro každou kontrolu.
Vyzkoušejte ePulz.io zdarma - 7 dní bez kreditní karty.
Vytvořit účet