HTTP Durum Kodları

Eğitimden alışverişe, finansal işlemlerden eğlenceye kadar geniş bir yelpazeye yayılan web siteleri, artık gündelik yaşamın bir parçası. Doğrudan bakıldığında görülmese de web sitelerinde yer alan çok sayıda işlevsel bileşen mevcut. HTTP kodları da bu bileşenlerden. Bir web sitesine girildiğinde karşılaşılan çeşitli HTTP durum ve hata kodları mevcuttur. Bu kodlar, direkt olarak site içerisinde ve arama çubuğunda görülemese de bazı eklenti ve uygulamalar aracılığıyla görüntülenebilir. Bazı durumlarda ise bu kodlar istemcinin tarayıcısına yansır. Peki HTTP nedir? HTTP durum kodları nelerdir?

HTTP Nedir?

Açılımı “Hyper Text Transfer Protocol”; Türkçesi ise “Hiper Metin Transfer Protokolü” olan HTTP, bir çeşit ağ iletişim protokolüdür. 1989 yılında Tim Berners Lee tarafından geliştirilmeye başlanıp, 1990 yılından beri kullanılmasıyla beraber HTTP, web sayfalarının görüntülenmesini sağlar. 

Bu protokol, istemci yani bilgisayar ve sunucu yani server arasındaki veri alışverişinin kurallarını belirler. HTTP, kullanıcılar tarafından aktif olarak kullanılan bir protokol olmamakla beraber, arama çubuğu otomatik olarak bu protokolden yararlanır. Yani tarayıcı HTTP aracılığı ile sunucuya bir istek gönderir ve sunucu bu isteğe cevap verdiğinde sitenin verileri size ulaşır. Böylelikle istediğiniz internet sitesine giriş yapabilirsiniz. Google Chrome, Mozilla Firefox ve Internet Explorer gibi bilindik ve yaygın kullanılan web tarayıcıları da bu protokolden yararlanır. 

Lee’nin HTTP’yi geliştirmesinin ardından bu ağ iletişim protokolü, W3C (World Wide Web Consortium) ve IETF (Internet Engineering Task Force – İnternet Mühendisliği Görev Gücü) tarafından bazı geliştirmelerle HTTP2 ve HTTP3 versiyonlarına ulaştı. 

HTTP 2.0, HTTP 1.1 altyapısı üzerine kurulu olup ana sürümün ikinci ana sürümü olarak bilinir. Bu Hiper Metin Transfer Protokolü çıktığı ilk günden beri, alanında ilk olmasının da verdiği avantajla oldukça yaygın bir protokoldü. Bu nedenle her ne kadar bazı hataları olsa ve hızlandırılması gerekse de yeni bir ağ protokolü geliştirip yayılmasını sağlamaya çalışmak daha zahmetli bir işti. Bunun üzerine geliştiriciler yeni bir protokol oluşturmaktansa, eskisinin altyapısını geliştirip HTTP 2.0’ı çıkardılar.

2014 yılında sunulup, 2015 yılında incelenen ve onaylanan HTTP 2.0, sonrasında HTTP 3.0’ın geliştirilmesine de yardımcı oldu. Genel anlamda HTTP 1.1 kullanılsa da birçok bilindik web tarayıcısının HTTP 2.0 ve 3.0 için desteği bulunmakta.

HTTP Durum Kodları Nelerdir?

Daha önce bahsettiğimiz gibi istemci, bir sunucu içeriğine HTTP kullanarak ulaşmaya çalıştığında bazı durum kodlarını kullanır. Bu kodlar, HTTP isteğinin başarıyla transferi gerçekleştirip gerçekleştirmediğini gösterir. Durum kodları çoğu zaman tarayıcıya yansımazken, bazı durumlarda ekranda görüntülenebilir. Bunlardan en yaygın olanları ise 200, 301, 302, 308, 404 ,410 ve 500 kodlarıdır. 

Durum kodları 1’den 5’e kadar gruplandırılır. 1xx durum kodları bilgi, 2xx durum kodları başarı, 3xx durum kodları yönlendirme, 4xx durum kodları tarayıcı (istemci) hatası, 5xx durum kodları ise sunucu hatası belirtir.

HTTP Durum Kodları ve SEO Arasındaki İlişki

Web ve SEO geliştiricileri için HTTP durum kodları oldukça önemlidir. Bu kodlar sayesinde geliştiriciler, web sitesindeki hataları saptayıp çözüme kavuşturabilirler. 1xx ve 2xx olan bilgilendirme ve başarı ile ilgili kodlar SEO için pek bir önem teşkil etmese de 4xx ve 5xx olan tarayıcı ve sunucu kodları oldukça önemlidir. Bu kodlardaki hatalar düzeltilmedikçe, SEO sıralamasında düşüş ve site görünümünde sorun yaşanması muhtemeldir. SEO çalışmalarının odak noktası da aramadaki sıralama olduğundan HTTP durum kodları bu konuda önemlidir.

En Yaygın HTTP Kodları ve Anlamları

HTTP durum kodlarının en yaygın olanlarını bilmekte fayda var. Böylelikle gerek bir tarayıcı kullanıcısı gerek bir SEO geliştiricisi olarak karşılaştığınız sorunların kaynağını daha kolay öğrenebilir ve çözüm sürecini hızlandırabilirsiniz. Bu yaygın durum kodlarından bazıları 200, 301, 302, 308, 404, 410 ve 500’dür. 

Kod Mesaj Açıklama
200 Tamam Tarayıcının istediğinin sunucuya başarıyla transfer edildiği anlamına gelir.
301 Kalıcı olarak taşındı Kaynağın yeniden tasarlandığı ve tarayıcının ulaşılmak istenen kaynağı yeni bir kalıcı URL adresine taşıdığı anlamına gelir.
302 Geçici olarak taşındı Kaynağın geçici olarak yeni bir URL adresine taşıdığı, ancak ilerleyen zamanlarda değişiklik yapılacağı anlamına gelir.
308 Kalıcı olarak taşındı Tarayıcının kaynağı yeni bir URL adresine taşıdığı anlamına gelir. 301 durum kodu HTTP yönteminin değiştirilmesine izin verirken, 308 buna izin vermez.
404 Bulunamadı İstek gönderilen web sayfasının o sunucuda bulunmadığı, URL’ye ulaşılamadığı anlamına gelir. Durumun geçici ya da kalıcı olmasıyla ilgili bir bilgi verilmemesiyle beraber, bazen ağ yöneticileri 404 hatası verse de yanıt kodu 200’dür.
410 Bulunamadı Ulaşılmak istenilen web sayfasının o sunucuda bir zamanlar olup, artık bulunmadığı anlamına gelir. 404 durum kodunda ise o URL’nin hiçbir zaman var olmadığını ifade eder.
500 Dahili Sunucu Hatası Sunucunun, istemciden gelen isteği, bilinmedik bir hata sebebiyle karşılayamadığı anlamına gelir.

Bütün Durum Kodları

Tüm status kodları 1xx, 2xx, 3xx, 4xx ve 5xx içeren durum kodlarıdır.

1xx – Ek Bilgi Sağlayın

1xx durum kodları, sunucunun isteği aldığını ve işlemenin devam edeceğini belirtir.

100 Devam – Şu anda her şey yolunda. Devam et.

101 Anahtarlama Protokolleri – Yükseltme isteği gibi, işleri farklı bir protokole dönüştüren bir mesaj var.

102 İşleme – Bir şeyler oluyor ama henüz yapılmadı.

103 Erken İpuçları – Önemli Web Verileri için En Büyük İçerikli Paint’i geliştirmeye yardımcı olabilecek kaynakları önceden yüklemenizi sağlar.

2xx durum kodları, bir müşteri talebinin alındığı, anlaşıldığı ve kabul edildiği anlamına gelir.

200 OK – Tarayıcının istediğinin sunucuya başarıyla transfer edildiği anlamına gelir.

201 Oluşturuldu – 200’e benzer, ancak başarının ölçüsü yeni bir kaynağın yaratılmış olmasıdır.

202 Kabul Edildi – İstek işlenmek üzere kabul edildi, ancak henüz tamamlanmadı. Henüz başlamamış bile olabilir.

203 Yetkili Olmayan Bilgi – Sunucudan size gönderildikten sonra bir şeyler değişti.

204 İçerik Yok – İstek gönderildi, ancak gövdede içerik yok.

205 İçeriği Sıfırla – Belgeyi orijinal durumuna sıfırlar, örneğin bir formu temizlerken.

206 Kısmi İçerik – İçeriğin yalnızca bir kısmı gönderildi.

207 Çoklu Durum – 2xx, 3xx, 4xx veya 5xx olabilecek daha fazla yanıt kodu vardır.

208 Zaten Rapor Edildi – İstemci, sunucuya aynı kaynağın daha önce belirtildiğini söyler.

218 Bu iyi – Apache tarafından resmi olmayan kullanım.

226 IM Kullanılan – Bu, sunucunun kaynaklardaki değişiklikleri (farkları) istemcilere göndermesine olanak tanır.

3xx durum kodları, isteğin başarılı olabilmesi için müşterinin hala bir şeyler yapması gerektiğini gösterir.

300 Çoklu Seçenek – Birden fazla olası yanıt vardır ve bunlardan birini seçmeniz gerekebilir.

301 Kalıcı Olarak Taşındı – Eski kaynak artık yeni kaynağa yönlendiriliyor.

302 Bulundu – Eski kaynak şimdi geçici olarak yeni kaynağa yönlendiriliyor.

302 Geçici Olarak Taşındı – Eski kaynak şimdi geçici olarak yeni kaynağa yönlendiriliyor.

303 Diğerini Gör – Bu, kaynağın başka bir yerde bulunabileceğini gösteren başka bir yönlendirmedir.

304 Değiştirilmedi – Sayfanın değiştirilmediğini belirtir. Genellikle önbelleğe almak için kullanılır.

305 Proxy Kullan – İstenen kaynak yalnızca bir proxy kullanıyorsanız kullanılabilir.

306 Proxy Değiştir – Sonraki istekleriniz belirtilen proxy’yi kullanmalıdır. Bu kod artık kullanılmamaktadır.

307 Geçici Yönlendirme – POST ve GET arasında geçiş yapamamanız dışında 302 yönlendirmesiyle aynı işlevselliğe sahiptir.

307 HSTS Politikası – İstemciyi HTTP yerine isteklerde bulunurken HTTPS kullanmaya zorlar.

308 Kalıcı Yönlendirme – POST ve GET arasında geçiş yapamamanız dışında 301 yönlendirmesiyle aynı işlevselliğe sahiptir.

4xx durum kodları, istemcide bir hata olduğu anlamına gelir. Hata genellikle yanıtta açıklanır.

400 Hatalı İstek – İstemci isteğiyle ilgili bir şeyler yanlış. Muhtemelen hatalı biçimlendirilmiş, geçersiz veya çok büyük. Ve şimdi sunucu isteği anlayamıyor.

401 Yetkisiz – Müşteri, gerektiğinde kendisini tanımlamamış veya doğrulamamıştır.

402 Ödeme Gerekli – Bunun resmi bir kullanımı yoktur ve bir tür dijital ödeme sistemi için geleceğe ayrılmıştır. Bazı satıcılar bunu kendi amaçları için kullanır; örneğin, Shopify bunu bir mağaza ücretlerini ödemediğinde kullanır ve Stripe bunu potansiyel olarak dolandırıcılık amaçlı ödemeler için kullanır.

403 Yasak – İstemci biliniyor ancak erişim haklarına sahip değil.

404 Bulunamadı – İstenen kaynak bulunamadı.

405 Yönteme İzin Verilmiyor – Kullanılan istek yöntemi desteklenmiyor, örneğin bir formun POST kullanması gerekir, ancak bunun yerine GET kullanır.

406 Kabul Edilemez – İstemci tarafından istenen kabul başlığı sunucu tarafından karşılanamaz.

407 Proxy Kimlik Doğrulaması Gerekli – Kimlik doğrulamanın proxy aracılığıyla yapılması gerekiyor.

408 İstek Zaman Aşımı – Sunucu zaman aşımına uğradı veya bağlantıyı kapatmaya karar verdi.

409 Çakışma – İstek, sunucunun durumuyla çakışıyor.

410 Gitti – İsteğin bulunmadığı 404’e benzer, ancak bu aynı zamanda tekrar kullanılamayacağını da söylüyor.

411 Uzunluk Gerekli – İstek, gerektiğinde bir içerik uzunluğu alanı içermez.

412 Ön Koşul Başarısız – İstemci, istek üzerine sunucunun karşılamadığı bir koşul koyar.

413 Yük Çok Büyük – İstek, sunucunun izin verdiğinden daha büyük.

414 URI Too Long – İstenen URI, sunucunun izin verdiğinden daha uzun.

415 Desteklenmeyen Ortam Türü – İstenen biçim sunucu tarafından desteklenmiyor.

416 Aralık Karşılanamıyor – İstemci, dosyanın sunucu tarafından sağlanamayan bir bölümünü ister, örneğin dosyanın gerçekte bittiği yerin ötesindeki bir bölümünü ister.

417 Beklenti Başarısız – “Bekleyin” istek başlığında belirtilen beklenti, sunucu tarafından karşılanamıyor.

418 I’m a Teapot – Çaydanlıkta kahve yapmaya çalıştığınızda olur. Bu, 1998’de bir 1 Nisan şakası olarak başladı ama aslında standart hale getirildi. Bugünlerde her şey akıllı cihazlar olduğundan, bu potansiyel olarak kullanılabilir.

419 Sayfa Süresi Doldu – Laravel Framework tarafından gayri resmi kullanım.

420 Yöntem Hatası – Spring Framework tarafından resmi olmayan kullanım.

420 Sakinliğinizi Artırın – Twitter’ın resmi olmayan kullanımı.

421 Yanlış Yönlendirilen İstek – Bir isteğin gönderildiği sunucu buna yanıt veremez.

422 İşlenemeyen Varlık – İstekte anlamsal hatalar var.

423 Kilitli – İstenen kaynak kilitli.

424 Başarısız Bağımlılık – Bu hata, yine başarısız olan başka bir isteğe ihtiyaç duyduğu için oluşur.

425 Çok Erken – Sunucu, isteğin daha sonra tekrar gelmesi muhtemel olduğundan, şu anda isteği işlemek istemiyor.

426 Yükseltme Gerekli – Sunucu, istemci daha yeni bir protokol kullanana kadar isteği reddeder. Yükseltilmesi gerekenler “Yükselt” başlığında belirtilir.

428 Ön Koşul Gerekli – Sunucu, isteğin koşullu olmasını gerektirir.

429 Çok Fazla İstek – İstemci sunucuya çok hızlı istek gönderdiği için bu, sunucuyu korumak için bir hız sınırlama biçimidir.

430 İstek Başlık Alanları Çok Büyük – Shopify tarafından resmi olmayan kullanım.

431 İstek Başlık Alanları Çok Büyük – Başlık alanları çok büyük olduğu için sunucu isteği işlemez.

440 Oturum Açma Zaman Aşımı – IIS tarafından resmi olmayan kullanım.

444 Yanıt Yok – nginx tarafından resmi olmayan kullanım.

449 Şununla Yeniden Dene – IIS tarafından resmi olmayan kullanım.

450 Windows Ebeveyn Denetimleri Tarafından Engellendi – Microsoft tarafından resmi olmayan kullanım.

451 Yasal Nedenlerle Kullanılamıyor – Bu, bir tür yasal nedenden dolayı engellendi. Bunu bazen gizlilik veya lisanslama nedeniyle ülke düzeyinde engellemeler, örneğin engellenen haberler veya videolar ile görürsünüz. Bunu DMCA yayından kaldırma işlemleri için görebilirsiniz. Kodun kendisi Fahrenheit 451 romanına bir göndermedir.

451 Yönlendirme – IIS tarafından resmi olmayan kullanım.

460 – AWS Elastic Load Balancer tarafından resmi olmayan kullanım.

463 – AWS Elastic Load Balancer tarafından resmi olmayan kullanım.

494 İstek başlığı çok büyük – nginx tarafından resmi olmayan kullanım.

495 SSL Sertifika Hatası – nginx tarafından resmi olmayan kullanım.

496 SSL Sertifikası Gerekli – nginx tarafından resmi olmayan kullanım.

497 HTTP İsteği HTTPS Bağlantı Noktasına Gönderildi – nginx tarafından resmi olmayan kullanım.

498 Invalid Token – Esri tarafından gayri resmi kullanım.

499 İstemci Kapalı İsteği – nginx tarafından resmi olmayan kullanım.

499 Token Gerekli – Esri tarafından gayri resmi kullanım.

5xx – Sunucu Tarafındaki Hatalar

5xx durum kodları, sunucuda bir hata olduğu ve sunucunun isteği gerçekleştiremeyeceğini bildiği anlamına gelir. Yanıt, hatanın nedenini içerecektir.

500 Dahili Sunucu Hatası – Sunucu bir tür sorunla karşılaşıyor ve daha iyi veya daha spesifik bir hata koduna sahip değil.

501 Uygulanmadı – İstek yöntemi sunucu tarafından desteklenmiyor.

502 Hatalı Ağ Geçidi – Sunucu bir isteğin ortasındaydı ve yönlendirme için kullanılıyordu. Ancak yönlendirme yaptığı sunucudan kötü bir yanıt aldı.

503 Hizmet Kullanılamıyor – Sunucu aşırı yüklenmiş veya bakım nedeniyle kapalı ve şu anda isteği yerine getiremiyor. Muhtemelen yakında eski haline dönecektir.

504 Ağ Geçidi Zaman Aşımı – Sunucu bir isteğin ortasındaydı ve yönlendirme için kullanılıyordu. Ancak yönlendirme yaptığı sunucudan zamanında yanıt alamadı.

505 HTTP Sürümü Desteklenmiyor – Tam olarak şunu söylüyor: İstekteki HTTP protokolü sürümü sunucu tarafından desteklenmiyor.

506 Varyant Ayrıca Pazarlık Ediyor – Sunucunun birden fazla varyantı olduğunda, istemcinin bir kaynağın en iyi varyantını almasına izin verir.

507 Yetersiz Depolama – Sunucu, isteği tamamlamak için depolaması gerekenleri depolayamaz.

508 Döngü Algılandı – Sunucu, isteği işlemeye çalışırken sonsuz bir döngü buldu.

509 Bant Genişliği Sınırı Aşıldı – Apache ve cPanel tarafından resmi olmayan kullanım.

510 Genişletilmemiş – Sunucunun yerine getirmesi için istek için daha fazla uzantı gerekir.

511 Ağ Kimlik Doğrulaması Gerekli – Sunucu ağ erişimine izin vermeden önce istemcinin kimlik doğrulaması yapması gerekir.

520 Web Sunucusu Bilinmeyen Bir Hata Döndürdü – Cloudflare tarafından resmi olmayan kullanım.

521 Web Sunucusu Kapalı – Cloudflare tarafından resmi olmayan kullanım.

522 Bağlantı Zaman Aşımı – Cloudflare tarafından resmi olmayan kullanım.

523 Origin is Unreachable – Cloudflare tarafından resmi olmayan kullanım.

524 Bir Zaman Aşımı Oluştu – Cloudflare tarafından resmi olmayan kullanım.

525 SSL El Sıkışma Başarısız – Cloudflare tarafından resmi olmayan kullanım.

526 Geçersiz SSL Sertifikası – Cloudflare tarafından resmi olmayan kullanım.

527 Railgun Hatası – Cloudflare tarafından resmi olmayan kullanım.

529 Site aşırı yüklendi – Qualys tarafından gayri resmi kullanım.

530 – Cloudflare tarafından resmi olmayan kullanım.

530 Site donduruldu – Pantheon tarafından gayri resmi kullanım.

561 Yetkisiz – AWS Elastic Load Balancer tarafından resmi olmayan kullanım.

598 (Gayri resmi kural) Ağ okuma zaman aşımı hatası – Bazı HTTP proxy’leri tarafından resmi olmayan kullanım.

Yazar:
Yayın Tarihi:
Ne düşünüyorsun?
Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


Sıradaki İçerik Önerimiz