HTTP ( Hypertext Transfer Protocol - Hiper-Metin Transfer Protokolü ); internet üzerinden sunucu taraflı web sayfalarının görüntülenmesi için kullanılan bir protokoldür.
İstemci ( Client ) tarafından yapılan sorguya cevap olarak verilen durum kodlarına Http durum kodları ( http status codes ) denir.
En sık karşılaşılan durum kodları 200, 301, 302, 400, 401, 403, 404, 405, 500, 503 ve 504 dür.
Sorgunun başarılı olduğunu ve tamamlandığını gösterir.
200 – Yapılan sorgu sunucuya ( server – servis ) ulaştığını ve cevabının da tamamlandığını gösterir.
Sorgunun yönlendirilmesi gerektiğini ve yönlendirildiğini gösterir.
301 – Sorgu yapılan adres kalıcı olarak taşındı.
302 – Sorgu yapılan adres geçici olarak başka bir adrese yönlendirildi.
Client (Sorgu yapan) taraflı sorunlar
400 – Yapılan isteğin hatalı olduğunu gösterir. İstemci ( client – tarayıcı, komut satırı, mobil uygulama vs. ) yaptığı sorguda eksik parametre, çok fazla boyut, aldatıcı yönlendirme ve/veya hatalı biçim kullanıyor olabilir.
401 – Sorgu yapılan adrese giriş yetkiniz yok.
403 – Bu adrese yapılan sorgular yasaklandı. Fazla sayıda sorgu yapılmış, giriş bilgileri hatalı ve/veya bu adrese sadece belirli kriterlere uygun ( belirli IP adresleri gibi ) istemciler sorgu ( giriş ) yapabilir.
404 – Adres ( sayfa ) bulunamadı. Sorgu yapılan sayfa silinmiş, adı değiştirilmiş, adı hatalı yazılmış olabilir.
405 – Sorgu türü kabul edilmiyor. Sorgu methodu ( GET, POST ) değiştirilip denenmeli.
Server (Sorgu yapılan sunucu) taraflı hatalar
500 – Sorgu yapılan sayfada kodlama hatası var.
502 – Geçersiz ağ geçidi yapılandırılması.
503 – Servis ( Apache, Nginx, MySQL, MsSQL, Postfix vs ) çalışmıyor.
504 – Sorgu zaman aşımına uğradı. Sunucudaki donanım ya da servis ayarları hatalı.
Yapılan sorgu kötü içerikli. Boyutu fazla, parametreler hatalı, türü yanıltıcı olabilir.
Geçmiş, cache, çerezleri temizlemek
DNS ayarlarını değiştirmek
VPN uygulamasını kapatmak ya da ayarlarını devredışı bırakmak
Farklı bir tarayıcı ile açmayı denemek
Telefon önbelleğini temizlemek.
Uygulamayı kaldırıp güvenilir bir yerden tekrar yüklemek
VPN uygulamasını kapatmak ya da ayarlarını devredışı bırakmak
DNS ayarlarını değiştirmek
Sorgu parametrelerini kontrol edin.
Sorgu yapılan adrese giriş için kimlik bilgileri header a ( WWW-Authenticate ) eklenmiş olması gerekiyor. Giriş yapılırken girilen bilgiler hatalı olabilir. Servis/Sayfa yöneticisi ile iletişime geçip geçerli giriş bilgileri öğrenilmeli. API gibi bir protokol ile bağlantı yapılmaya çalışılıyor ise Türkçe/Rusça/Japonca gibi dil karakterleri (unicode karakterler, utf-8 desteği vs) karakter, Ascii karakter vs gibi özel karakterler kontrol edilmeli.
Sorgu yapılan sayfayıgösterim izni verilmemiş. Belirli kriterlere uyularak giriş yapılması şartı eklenmiş olabilir. Örnek olarak sadece belirli IP adresleri üzerinden giriş, sadece belirli kullanıcı isimleri ile giriş, belirli saatlerde giriş, sık sorgu sonrası engelleme vs gibi. Sayfa yönetici ile iletişime geçilip bilgiler öğrenilebilir. Sorun hala devam ediyor ise geçmiş, dns, çerez ve cacheler temizlenmeli ve bir süre beklenmeli.
Sayfa bulunamadı. Dosya adı hatalı yazılıyor olabilir. Dosyalar farklı bir klasöre taşınmış olabilir. Apache (.htaccess), Nginx, IIS, Litespeed gibi http servislerinden url redirect (mod_rewrite) kullanılıyor ise doğru yapılandırma yapılmamış olabilir.
Kullanılan sorgu method türü hatalı. Örnek olarak bir formu POST ile göndermek gerekiyor iken GET ile gönderiliyor ise sunucu bu methodu güvenlik/emniyet sebebiyle kabul etmediğini söyler. Sorgu adresindeki kabul edilen methodları öğrenmek için sayfa yazılımı sahibi ile görüşüp kabul edilir methodları öğrenmek gerekir.
401 Unauthorized gibi ama sorgu yapılmadan önce proxy sunucusunda giriş yapılması gerekiyor. Proxy sunucusu yetkilisinden gerekli giriş bilgileri istenmeli.
Çok sık sorgu yapıldı ve rate limit sınırı aşıldı. Sorgu yapılan sunucu için geçerli rate limitleri öğrenilmeli. API ile bağlantı sağlanıyor ise API dokümanından bilgi alınmalı.
En çok karşılaşılan durumdur. Sunucu, isteğin yerine getirilmesini engelleyen kod hataları ile karşılaştı ve genel bir hata döndürdü. Nokta yerine virgül konması bile bu hatayı gösterebilir. Normal şartlarda http servisleri güvenlik sebebiyle hatanın detaylarını gizler ama sunucu içinde hata kayıtları incelenebilir.
Linuxlarda bazı hata kayıt yolları
/var/log/apache2/error.log
/usr/local/apache/logs/error_log
nano /etc/php??/apache2/php.ini içinde log yolu
Sunucu üzerindeki ağ ayarları hatalı yapılandırılmış. Proxy/Gateway kayıtları kontrol edilmeli. Nginx kullanılıyor ise nginx.conf daki proxy ayarları kontrol edilip limitler artırılmalı.
nano /etc/nginx/nginx.conf -->proxy_buffer_size -->proxy_buffers
Servisin yeniden başaltılması gerekiyor.
Sorgu yapılan servis ( Apache , Nginx, Litespeed vs. ) hatalı ayarlardan dolayı durmuş olabilir. Hata kayıtları incelenmeli ve sebebi bulunduktan sonra ayarlar değiştirilmeli ( donanım artırılması gerekebilir ) ve servis yeniden başlatılmalı.
502 gibi ama ayarlardaki hata verme süresi uzun olduğu için zaman aşımına uğradı. Kullanılan http servis için proxy zaman aşımı limitleri uzatılabilir.
Kaynakça