İlk basamak sorunu daha baştan ikiye ayırır: 4xx isteğin yanlış olduğunu, 5xx ise sunucunun makul bir isteği yanıtlayamadığını söyler. Yalnızca bu bile hangi tarafa bakmanız gerektiğini söyler.
Karşılaşacağınız 4xx'ler
- 400 — bozuk biçimli istek. Genellikle fazla büyük bir başlık ya da çerez; kodunuz değil.
- 401 — kimliğiniz doğrulanmamış. Oturum açın.
- 403 — kimliğiniz doğrulanmış ama yine de izniniz yok; ya da sunucu dosyayı okuyamıyor.
- 404 — bulunamadı. Var olması gerekiyorsa şüpheli, dosya değil, yeniden yazma kuralıdır.
- 413 — yüklenen şey, sunucunun kabul ettiğinden büyük.
- 429 — hız sınırına takıldınız. Bir şey fazla sık soruyor; bazen de kendi cron işiniz.
5xx'ler
- 500 — uygulamanız hata verdi. İleti sayfada değil, kayıttadır.
- 502 — web sunucusunun arkasındaki şey kullanılamaz bir yanıt verdi; neredeyse her zaman PHP.
- 503 — bilerek erişime kapatılmış, ya da kapasitesi tükenmiş.
- 504 — web sunucusu beklemekten vazgeçtiğinde arkadaki şey hâlâ çalışıyordu.
Sayfayı değil, gerçek kodu okuyun
curl -sI https://yourdomain.com/some/page | head -1
200 ile döndürülen şirin bir hata sayfası, hatanın kendisinden daha kötüdür: arama motorları onu gerçek bir sayfa diye dizine ekler ve 200'e bakan izleme hiç uyarı vermez. Bir hata sayfası kendi kodunu döndürmelidir.
Arama açısından önemli olan ikisi
Taşınmış bir sayfa 301 döndürür ve itibarını yeni adrese devreder. Ortadan kalkmış bir sayfa ise 410 ya da 404 döndürür. Bunun yerine kaldırılan her sayfayı ana sayfaya yönlendirmek, yumuşak bir 404 olarak okunur ve kimsenin işine yaramaz.
Gövdesi boş bir 200, başlı başına bir kusurdur — genellikle PHP'nin hata yazmadan ölmesidir. Sayfaya değil, kayda bakın.