
Merhaba, HTTP durum kodları web taramasının hayati bir parçasıdır. Yaptığınız her istek, bir bağlantıya her tıkladığınızda veya bir URL girdiğinizde, bir yanıt alırsınız. Bu cevabın arkasında sonucu özetleyen sayısal bir kod vardır.
404 kodunu duydunuz ve muhtemelen her bir kod gösterdiğinde tarayıcınıza küfrettiniz. Ancak HTTP, tahmin edebileceğinizden daha güçlüdür ve durum kodları birçok farklı senaryoyu ele alır. Bu şifreli küçük sayılar hakkında daha fazla bilgi edinmek için okumaya devam edin.
Web İstemcileri ve Sunucular Nasıl İletişim Kurar
Web'de gezinme, istemciler ve sunucular arasındaki iletişimle mümkün hale getirilmiştir. Bir sayfayı görüntülemek istediğinizde, istemciniz (tarayıcınız) bir sunucuya (web sitesine) bir istek gönderir. Bu istek umarız başarılıdır, bu noktada sunucu okumanız için size bir yanıt gönderir.Yanıt olarak, web sunucusu içerikten daha fazlasını içerir. Başlangıç olarak, yanıt için geçerli olan bir dizi başlık, küçük meta veri parçaları içerir. Örneğin, İçerik Türü başlığı şöyle görünebilir:
Content-Type: text/html; charset=UTF-8
Bu, bir görüntü veya müzik dosyası yerine "yanıt HTML'dir" anlamına gelir.
Ancak içerikten önce, hatta başlıklardan önce, her HTTP yanıtı şuna benzeyen bir satır içerir:
HTTP/1.1 200 OK
Bu örnekte, HTTP sürümünün (1.1) yanında, bir durum kodu "200 Tamam" okur. Diğer bir deyişle, "her şey yolunda, işte içeriğiniz." 200, en önemli kısımdır. Sistemler, tam olarak ne olduğunu belirlemek için buna karşı test yapabilir. "Tamam", izleyen herhangi bir insanın durumunu açıklayan güzel bir kısa ipucudur.
Yaygın Durum Kodlarına Örnekler
404 ve 200 durum kodları çok yaygındır, ancak daha birçok olasılık vardır.- 500 (DAHİLİ SUNUCU HATASI) bir hata durumudur. Bu, sunucuda bir şeylerin ters gittiği ve isteği yerine getiremediği anlamına gelir. Bu bir programlama hatası veya başka bir çalışma zamanı hatası olabilir.
- 403 (YASAK) , sunucunun isteği anladığı ancak buna izin vermeyi reddettiği anlamına gelir. Bu genellikle daha karmaşık web uygulamalarında kullanıcıyla ilgili işlemler için geçerlidir. Örneğin, başka birinin sahibi olduğu bir gönderiyi düzenlemeye çalışmak.
- 401 (ONAUTHORIZED) , 403'e çok benzer. Bu durumda, orijinal isteğin herhangi bir kullanıcı kimlik bilgisi sağlamadığı için kaynağa erişmesine izin verilmez. Başka bir deyişle, giriş yapmadınız.
- 400 (KÖTÜ İSTEK) , sunucunun ne istendiğini anlayamadığı anlamına gelir. URL parametresi gibi bazı eksik bilgiler olabilir. Belki nakliye sırasında bir şey talebi bozmuştur.
HTTP Durum Kodu Grupları
Şimdiye kadar gördüğümüz tüm durum kodları üç basamaklı, hepsi 200 ile 500 arasında. Bu tesadüf değil. HTTP durumlarının tümü üç basamak uzunluğundadır ve ilk basamak bir ile beş arasındadır. Ve bu ilk basamağın değeri, kodu her biri belirli bir anlama sahip beş gruptan birine yerleştirir.Birinci grup, 1xx, "bilgi amaçlıdır". Bu durumların tümü, sunucunun isteği anladığı, ancak yanıt göndermeye hazır olmadığı anlamına gelir. Bunları eylem halinde pek görmeyeceksiniz, ancak ihtiyaç duyan sistemler için oradalar.
2xx grubu, genellikle istediğiniz yanıtın evidir: 200 (Tamam) . Bu en yaygın başarı durumudur, ancak başkaları da vardır.
204 (NO İÇERİK) kodu oldukça garip bir tanesidir. Bir sunucu onu bir PUT veya POST veya bir PATCH sonucunda döndürebilir. Bu durumlarda anlam, sunucunun güncellemeyi yapmasıdır, ancak istemciye herhangi bir şey göndermeye gerek yoktur.
3xx grubundaki kodlar, HTTP durumlarının sadece başarı veya başarısızlık iletişiminin ötesine geçtiğini gösterir. 3 ile başlayan durum kodları yeniden yönlendirmeyi belirtir. Bu, orijinal isteğin kötü olmadığı, ancak müşterinin bunun yerine farklı bir URL kullanması gerektiği anlamına gelir.
Bu, bir sitenin nihai ürün sayfasına yeniden yönlendiren bir promosyon URL'sini barındırmak için kullanabileceği 302 (BULUNAN) örneğinde olduğu gibi geçici olabilir. Bir site bunun yerine 301 (KALICI OLARAK TAŞINDI) durumu aracılığıyla kalıcı bir yeniden yönlendirme kullanabilir . Bu, örneğin bir site bir sayfanın adını değiştirdiğinde iyi bir uygulamadır.
Yönlendirme durumlarına genellikle bir Konum başlığı eşlik eder . Bu, müşteriye orijinal URL yerine hangi URL'yi talep edeceğini söyler. Sunucular genellikle ek başlıklarla yanıt verir. Bunlar, tek başına durum kodundan daha yararlı bilgiler sağlayacaktır.
4 ile başlayan durumlar istemci hatalarıdır. Esasen, "tarayıcının (veya onu kullanan kişinin) yanlış bir şey yaptığını" kastediyorlar. Bunlardan birkaçını (400, 401, 403, 404) daha önce tartıştık ve bu, önemli miktarda en büyük durum kodları grubudur. Diğer istemci hatası örnekleri, önceden var olan ancak artık olmayan bir URL'yi istemeyi içerir : 410 (GONE) . Ayrıca , kaynakların boğulmaması için hız sınırlamasını destekleyen 429 (ÇOK FAZLA TALEP) var . Bu, REST API'leri tarafından çok yaygın olarak kullanılır.
Son olarak, 500-599 aralığındaki durumlar, isteği yerine getirmeye çalışırken sunucuda bir sorun olduğunu gösterir.
Curl ile HTTP Durumunu Alma
En yaygın kullanılan, çok amaçlı HTTP komut satırı aracı curl'dir . Curl kullanarak, HTTP isteklerini elle gönderebilir, temel yanıt ayrıntılarına bakabilir ve durum kodlarını inceleyebilirsiniz.Curl programı, yalnızca bir durum kodunu göstermeyi inanılmaz derecede kolaylaştırmaz, ancak birkaç seçenek kullanarak bunu yapabilirsiniz:
- -o <dosyaadı> curl'ye varsayılan çıktısını bir dosyaya göndermesini söyler. Tüm normal çıktıları atmak için kullanabilirsiniz.
- -w <format> , biri "http_code", yani yanıt durum kodu olan bir dizi kullanılabilir değişkenden özel bilgileri görüntüler.
$ curl -sw "%{http_code}" -o /dev/null http://example.org
200
$ curl -sw "%{http_code}" -o /dev/null http://bbc.co.uk
301
Veya sonucu işlemek için biraz farklı seçenekler ve bir ardışık düzen kullanabilirsiniz:
$ curl -sI http://example.org/no | head -1 | cut -f2 -d' '
404
Bir Web Tarayıcısında Durum Kodlarını Görüntüleme
HTTP durum kodlarını kontrol etmeniz gerekirse, web tarayıcınız size yardımcı olabilir. Çoğu modern tarayıcının gelişmiş bilgileri görüntüleyebilen bir konsolu vardır. Örnek olarak Chrome'u kullanarak, bir URL'nin durum kodunu şu şekilde kontrol edebilirsiniz:- Ana menüden Görünüm -> Geliştirici -> Geliştirici Araçları'nı seçin. Bu, tarayıcınızın altındaki küçük bir pencereyi değiştirir.
- Geliştirici Araçları penceresinin Ağ sekmesine zaten bakmıyorsanız , değiştirin.
- Yalnızca sayfa içeriği isteklerini göstermek için Doküman düğmesini tıklayın .
- Baktığınız sayfayı yenileyin.
Http durumlarının URL'lerinin biçimi özellikle kullanışlıdır. 403 durum kodu sayfası basitçe https://httpstatuses.com/403'tür . İhtiyacınız olan herhangi bir durum kodunu aramak için URL'yi kolayca değiştirebilirsiniz.


