2xx başarı durum kodları
Bir 2xx durum kodu, isteğin alındığı, anlaşıldığı ve kabul edildiği anlamına gelir: sunucu istenen şeyi yaptı. Ayrı kodlar, o başarıyla birlikte neyin geri geldiğinde farklılık gösterir. Bir gövde, bir konum, hiçbir şey, veya kaynağın yalnızca bir kısmı.
2xx ailesi neyi kapsar
Başarı tek bir koşul değildir. Bir sayfa getiren bir tarayıcı, yeni bir kayıt gönderen bir form, daha sonrası için işi kabul eden bir arka plan işi, ve 5.000.000'dan 6.000.000'a baytları isteyen bir video oynatıcının hepsi başarılıdır, ama farklı yanıtlara ihtiyaç duyarlar. 2xx kodlarının kodladığı şey budur. RFC 9110, 200'den 206'ya kadar tanımlar; bir avuç diğeri WebDAV gibi uzantılardan gelir.
Günlük web trafiği için, başarılı yanıtların ezici çoğunluğu düz 200'lerdir. Geri kalanı büyük ölçüde API istemcilerini, yükleme yollarını ve medya teslimini ilgilendirir.
2xx kodları ve her birinin ne zaman göründüğü
- 200 OK. Standart başarı. Bir GET için gövde istenen kaynaktır; bir POST için eylemin sonucudur. Sağlıklı bir sayfanın döndürdüğü budur.
- 201 Created. İstek yeni bir kaynak oluşturdu. İyi davranan bir API, az önce yaptığı şeye işaret eden bir
Locationbaşlığıyla 201 döndürür. Bunu API kayıtlarında görürsünüz, bir tarayıcıda nadiren. - 202 Accepted. İstek işlenmek üzere kabul edildi ama bitmedi. Toplu bir içe aktarma veya arka planda oluşturulacak bir rapor gibi asenkron işler için kullanılır. Bir 202 bir sonuç değil bir sözdür, bu yüzden istemci normalde bir durum URL'sini sorgulamak zorundadır.
- 203 Non-Authoritative Information. Başarı, ama bir proxy veya dönüştüren bir ara katman yanıtı yolda değiştirdi. Modern sitelerde yaygın değildir.
- 204 No Content. Kasıtlı olarak gövde olmadan başarı. Bir DELETE, hiçbir şeyi geri yansıtması gerekmeden kaydeden bir PUT, veya bir otomatik kaydetme uç noktası için tipiktir. Tarayıcı mevcut sayfada kalır.
- 205 Reset Content. Başarı, ve istemcinin isteği gönderen formu veya belge görünümünü sıfırlaması gerekir. Pratikte nadiren kullanılır.
- 206 Partial Content. Sunucu yalnızca istemcinin bir
Rangebaşlığıyla istediği bayt aralığını döndürüyor. Video atlamanın, sürdürülebilir indirmelerin ve büyük dosya aktarımlarının çalışma şekli budur, bu yüzden 206 medya uç noktalarında normal ve beklenendir. - 207 Multi-Status ve 208 Already Reported, bir isteğin birçok kaynak üzerinde işlem yapabildiği ve kaynak başına bir sonuç bildirmesi gerektiği WebDAV'den gelir. 226 IM Used, delta kodlama uzantısından gelir ve çok nadiren dağıtılır.
Bir 200'ün sayfanın sağlıklı olduğunu kanıtlamamasının nedeni
Bir durum kodu, HTTP işleminin sonucunu tarif eder, geri gelenin doğruluğunu değil. Markalı bir "bakım için kapalıyız" sayfası bir 200 ile sunulur. Framework istisnayı yakalayıp normal şablon aracılığıyla varsayılan durumuyla dostane bir özür işlediğinde, bir uygulama hata sayfası da öyledir. API çağrısı başarısız olan istemci tarafında işlenen bir sayfa, eksik içeriğin etrafındaki boş kabuk için 200 döndürür, ve yumuşak bir 404, "sayfa bulunamadı" mesajı için 200 döndürür, ki bu ayrıca arama motorlarını da karıştırır.
Bu durumların her birinde bir durum kodu kontrolü başarı bildirirken ziyaretçileriniz bozuk bir site görür. Düzeltme bir içerik kontrolüdür: kodu kontrol etmenin yanı sıra, yanıt gövdesinde bilinen bir dizenin var olduğunu, veya bilinen bir hata dizesinin var olmadığını onaylayın.
Bir URL'nin gerçekte ne döndürdüğü nasıl kontrol edilir
- Yalnızca başlıkları isteyin ve durum satırını okuyun:
curl -sI https://example.com/ | head -n 1 - Bir 200'se, gövdeyi de getirin ve olması gerekeni içerdiğini doğrulayın. Yalnızca çalışan bir sayfada görünen bir dizeyi, bir başlık veya bir altbilgi işaretçisi gibi, grep'leyin.
- Bir API uç noktası için, kodun anlamla eşleştiğini doğrulayın: bir oluşturma bir
Locationile 201 olmalıdır, bir silme 204 olmalıdır, ve uzun süren bir iş bir durum URL'siyle 202 olmalıdır. - Medya için, sunucunun
Accept-Ranges: bytes'ı reklam ettiğini ve aralıklı bir isteği 206 ile yanıtladığını doğrulayın. Aralıklı bir isteğe 200 yanıtı veriyorsa, tüm dosya yeniden gönderildiği için atlama yavaş olacaktır. - Kontrolü farklı bir ağdan tekrarlayın. Sizin için 200 olan ve başka yerde bir hata olan bir yanıt, uygulamaya değil DNS'e, CDN'ye veya coğrafi yönlendirmeye işaret eder.
Kodu değil gövdeyi kontrol etmek
Bir durum kodu kontrolü, bir hata sayfası sunan yeşil bir site bildirir, bu yüzden onu aynı istekte bir içerik onayıyla eşleştirin. HostTracker, 2004'ten beri web sitelerini izliyor ve 13 monitör türü sunuyor, bu yüzden bir URL aynı anda durum kodu için, yanıttaki bir anahtar kelime için ve yanıt süresi için izlenebilir. Şu anda döndürdüğü kodu ve başlıkları görmek için bir URL'yi HTTP kontrol aracından geçirin, sonra bir 200 OK'in gerçekten ne anlama geldiğini ve bir 200'ün gizleyebileceği başarısızlıklar için 5xx sunucu hata kodlarını okuyun.