HTTP Durumu 204 (İçerik Yok) Hatası Nasıl Düzeltilir?
Yayınlanan: 2024-01-26HTTP 204 ne anlama geliyor?
HTTP 204 içerik yok yanıt kodu, sunucunun istemci tarafından gönderilen isteği yerine getirerek işini yaptığını ancak sunucunun istemciye geri gönderecek herhangi bir içerik bulamadığını gösterir.
Yani sunucunun isteği tamamladığını ancak sunucunun geri göndereceği bir bilgisinin bulunmadığını ve istemcinin mevcut sayfasından ayrılmasına gerek kalmadığını anlayabilirsiniz.
Not : HTTP 204 durum kodu, varsayılan olarak önbelleğe alınabilir olarak kabul edilir; bu, proxy sunucuların ve istemcilerin yanıtları önbelleğe almakta özgür olduğu anlamına gelir. Ayrıca bu durumda sunucu bir Etag başlığı içerebilir.
Bu varsayılan davranışı geçersiz kılmak isteyebileceğiniz durumlar olabilir; bu bağlamda yanıta ek HTTP önbellekleme başlıkları ekleyebilirsiniz.
HTTP 204 yanıt kodu Referansları
- Rails HTTP Durum Sembolü :no_content
- Pas http::StatusCode::NO_CONTENT
- Symfony HTTP Durumu Sabit Yanıtı::HTTP_NO_CONTENT
- HTTP Durum Sabitine Git http.StatusNoContent
- Python3.5+ HTTP Durum Sabiti http.HTTPStatus.NO_CONTENT
- .NET HttpStatusCode.NoContent
- Java java.net.HttpURLConnection.HTTP_NO_CONTENT
- Apache HttpComponents Core org.Apache.hc.core5.http.HttpStatus.SC_NO_CONTENT
- Angular @angular/common/http/HttpStatusCode.NoContent
HTTP 204 sorunu nasıl düzeltilir?
Bununla birlikte, HTTP 204 durum kodu bir hata değildir ve sunucunun istemcinin isteğini işlediği ancak döndürecek içeriği olmadığı durumlarda başarılı bir isteği göstermek için kasıtlı olarak uygulanmıştır.
Ancak bazen istemeden birdenbire tetiklenebilir veya uygun olmayan bir durumda görebilirsiniz. Böyle bir senaryonun üstesinden gelmek için göz önünde bulundurmanız gereken bazı gerekli yöntemler şunlardır.
1. Sunucu Yapılandırmalarını Kontrol Edin
Sunucunuzu yanlış yapılandırdıysanız, bu durum istenmeyen bir HTTP 204 yanıtına yol açabilir. Bu nedenle, sunucu yapılandırmanızın, özellikle de HTTP yanıtlarının işlenmesiyle ilgili olanların, uygulamanızın gereksinimleriyle doğru şekilde uyumlu olup olmadığını kontrol etmeniz gerekir.
Ayrıca ayrıntılı ayrıntılar için sunucu hata günlüklerini kontrol etmeyi de düşünün.
2. SEO Araçlarını Kullanın
URL'lerin bir HTTP 204 yanıt kodu döndürmesi durumunda arama motorlarının bunları dizine eklemeyeceğini daha önce tartıştığımız için, web sitenizdeki kasıtsız HTTP 204 yanıt kodunu bulmak ve emin olmak için SEMRUSH veya Screamfrog gibi çeşitli SEO araçlarını kullanabilirsiniz. sayfa bunun yerine HTTP 200'ü döndürür.
3. Uygulama Mantığınızı gözden geçirin
Uygulama mantığınızın HTTP 204 için uygun kullanım durumuyla daha iyi hizalandığından emin olun. Bu özel durum kodunu gösterme amacına uygun olmalıdır.
Mantığın doğru olup olmadığını kontrol edin; örneğin, içerik bekleniyor ancak HTTP 204 görüntüleniyorsa bunun neden olduğunu araştırın. Ayrıca optimum kullanıcı deneyimi için uygulamayı geliştirmeye devam edin.
4. Kullanıcıları İçerikli sayfaya yönlendirin
İçeriği veya bir öğeyi silmeyi düşünüyorsanız ve kullanıcılara bir HTTP 204 yanıt kodu döndürüyorsa, bunun onlar üzerinde olumsuz bir etkisi olabilir. Kullanıcıların kafası karışabilir ve bu da sonuçta genel web sitesi kullanıcı deneyimini düşürür. Bu SEO açısından çok kötü bir şey.
Kullanıcılara 204 yanıt kodu göstermek yerine onları daha kullanışlı bir sayfaya yönlendirmek veya aynı sayfada net bir mesaj iletmek daha iyidir.
5. API veya AJAX İsteklerini Araştırın
API'ler veya AJAX istekleriyle çalışıyorsanız istemci ve sunucu beklentilerinin uyumlu olduğundan emin olun.
İstemci içerik bekliyor ancak bunun yerine bir HTTP 204 alıyorsa, bunun kasıtlı olarak mı yapıldığını yoksa bir sorun mu olduğunu kontrol edin.
6. Uygun Durum Kodlarının kullanıldığından emin olun
Bazen bir tür karışıklık veya HTTP durum kodu bilgisi eksikliği nedeniyle farklı senaryolar için farklı bir kod kullanıyor olabilirsiniz. Örneğin, müşteri içerik bekliyorsa, 204 İçerik Yok'u kullanmak yerine bunu 200 OK veya uygun başka bir kod yapın.
7. Günlüğe Kaydetme ve İzleme
204 yanıt için günlük kaydı ve izleme uygulamaya çalışın. Bunun nedeni, web uygulama davranışınız hakkında size değerli bilgiler sağlayabilmesidir.
Ayrıca kalıpları belirlemenize, olası sorunları bulmanıza ve kullanıcı deneyiminin yanı sıra performansta da iyileştirmeler yapmanıza yardımcı olur.
8. Belgelere Başvurun
Ayrıca kullandığınız hizmetlerin, çerçevelerin veya kitaplıkların belgelerine de göz atabilirsiniz. Sadece bunlara dikkatlice bakın ve 204 ile ilgili en iyi uygulamalara ilişkin özel hususlardan bahsedilip bahsedilmediğine bakın.
Uygun eylemin yalnızca kasıtsız olarak yapılması durumunda gerçekleştirilebileceğini ve bunun uygulamanızın özel bağlamına bağlı olduğunu unutmayın.
HTTP 204 İçerik Yok'un SEO'ya Etkisi
Ayrıca HTTP 204'ün SEO üzerinde ne gibi etkileri olabileceğini de bilmeniz gerekir. Şuna bir göz atın:
1. İndeksleme Sorunu : Http 204 indeksleme için içerik sağlamadığından. Bir URL'yi dizine eklemeye çalışıyorsanız sorunlara neden olabilir.
2. Tarama Bütçesinin İsrafı : Her arama motorunun, her web sitesi için bir tarama bütçesi ayırdığını bilmek sizi şaşırtabilir. Arama motoru botları dizine eklenecek herhangi bir içeriği tekrar tekrar bulamazsa, bu onlara olumsuz bir sinyal verir ve tarama bütçenizi daha da azaltabilir.
3. Kötü Kullanıcı Deneyimi: Kullanıcı deneyimi de SEO'da önemli bir faktör olduğundan, HTTP 204 ile karşılaşmak SEO üzerinde olumsuz bir etki yaratabilir. İçerik bekleyen kullanıcılar siteden ayrılabilir, bu da hemen çıkma oranını artırabilir ve arama motorlarına olumsuz bir sinyal gönderebilir.
4. Zayıf Yanlış Yapılandırma : İstemeden sunucunun kötü yapılandırılmış olması da mümkün olabilir, bu da anahtar sayfaların Noindexing veya sıralamasına neden olur.
HTTP 204 İçerik Yok yanıt kodunun bazı kullanım senaryoları
Peki, HTTP 204 yanıtının kasıtlı olup olmadığını, o zaman bunun olası kullanım senaryolarının neler olabileceğini merak ediyor olabilirsiniz. Referans olması açısından aşağıda verilen vakalara göz atın:
1. Kullanım örneği: SİLME İsteği
Burada daha iyi bir anlayış için bir örnek düşünmeniz gerekir,
Rica etmek
DELETE https://domain.com/user/666 HTTP/1.1
Host: domain.com
Authorization: Bearer
Cevap
HTTP/1.1 204 No Content
Date: Tue, 16 Jan 2024 12:00:00 GMT
Server: nginx
Yukarıdaki örnekte, bir istemcinin bir DELETE isteği gönderdiğini ve bunun başarıyla işlendiğini görebilirsiniz; bu, domain.com sunucusundaki 666 kimliğine sahip kullanıcı kaynağının kaldırıldığını gösterir ve sunucu, 204 durum koduyla yanıt verir.
2. Kullanım Örneği: POST İsteği
Rica etmek:
POST /job HTTP/1.1
Host: www.domain.re
Content-Type: application/xml
Content-Length: 60
<?xml version="1.0">
<job>
<id>125</id>
<task>G01</task>
</job>
Cevap:
HTTP/1.1 204 No Content
Yukarıdaki örnekte, bir istemcinin XML verileri için sunucuya bir istek gönderdiğini ve ayrıca işin tamamlanması gerektiğini tanımladığını görebilirsiniz. Buna yanıt olarak sunucu isteği kabul eder ve işi tamamlar.
Ancak müşteriye herhangi bir şey göndermenize gerek yoktur; bu nedenle 204 İçerik Yok durum kodu kullanılır.
3. Kullanım Örneği: PUT İsteği
Diyelim ki web sitesindeki bir makalede güncelleme yapmanız gereken bir CMS kullanıyorsunuz. Bunun için mevcut bir makalenin ID 123 ile içeriğini güncellemek için PUT isteği göndermeniz gerekmektedir. İstek verisi, JSON biçimindeki güncellenmiş başlığı ve içeriği içerir.
Rica etmek:
PUT /api/articles/123
Content-Type: application/json{
"title": "Updated Title",
"content": "Updated content for the article."
}
Cevap:
HTTP/1.1 204 No Content
Date: Sat, 01 Jan 2024 12:00:00 GMT
Bu bağlamda sunucu, isteği işleyecek ve makaleyi başarılı bir şekilde güncelleyecektir. Ancak uygulamanın tasarımı gereği sunucu, geleneksel başarı mesajıyla yanıt vermek yerine 204 İçerik Yok durum koduyla yanıt verir.
Benzer şekilde, HTTP 204, önbelleğe alma davranışının yanı sıra HTTP başlık alanlarının dahil edilmesinin kontrol edilmesinde de kullanılabilir.
HTTP 204 ile 200 arasındaki fark
Birçok kişinin HTTP 204 ve HTTP 200 yanıt kodları arasında kafası karışabilir ve sonunda uygunsuz kodlar kullanılabilir. Bu nedenle, aşağıda bu konudaki şüphelerinizi açıklığa kavuşturmak için sağlanan nihai bir karşılaştırma tablosu verilmiştir.
Bakış açısı | HTTP 204 İçerik Yok | HTTP 200 Tamam |
---|---|---|
Tanım | Sunucu isteği başarıyla işledi ancak yanıt gövdesinde gönderilecek içerik yok. | İstek başarılı oldu ve sunucu istenen verileri döndürdü. |
Yanıt Gövdesi | Yanıt gövdesinde hiçbir içerik yer almıyor. | Yanıt genellikle isteğe bağlı olarak HTML, JSON veya XML gibi verileri içerir. |
Kullanım Örneği | Yanıtta veri aktarımını gerektirmeyen başarılı bir isteğin onaylanması sırasında kullanılır. | Sunucunun, müşterinin isteğini yerine getirmek için veri döndürdüğü başarılı istekler için kullanılır. |
Önbelleğe almak | Yanıtın önbelleğe alınması amaçlanmamıştır. | Yanıtlar, sunucu tarafından sağlanan önbellek başlıklarına göre önbelleğe alınabilir. |
İstemci Eylemi | Hiçbir müşteri Eylemine gerek yoktur, yalnızca müşteriyi onaylamak içindir. | Müşteri, alınan verileri işleyebilir veya yanıta göre başka eylemlerde bulunabilir. |
Örnekler | Hiçbir ek verinin gönderilmesinin gerekmediği bir DELETE isteği. Yanıt gövdesi gerektirmeyen başarılı bir güncelleme. | Bir web sayfası başarıyla yükleniyor. Bir veritabanından kullanıcı ayrıntılarını alma. |
Ortak Başlıklar | İçerik Türü: Geçerli değil (içerik yok). Önbellek Kontrolü: Önbellek yok, depolama yok (önbelleğe almamanızı öneririz). | İçerik Türü: Yanıt gövdesindeki verilerin ortam türünü belirtir. Önbellek Kontrolü: Bu, önbelleğe alma yönergelerini içerebilir. |
Yönlendirmeler | Genellikle yeniden yönlendirmeye gerek yoktur. | Sunucu veya kaynak taşınmışsa (örneğin, 3xx durum kodu kullanılarak) yeniden yönlendirme meydana gelebilir. |
Benzer şekilde, HTTP 204 ve 404 yanıt kodları arasında kafanız karışabilir. Bu konuyla ilgili açıklama için aşağıdaki karşılaştırma tablosuna göz atın.
HTTP 204 ile 404 arasındaki fark
Bakış açısı | HTTP 204 İçerik Yok | HTTP 404 Bulunamadı |
---|---|---|
Tanım | Sunucu isteği başarıyla işledi ancak yanıt gövdesinde gönderilecek içerik yok. | İstenilen kaynak sunucuda bulunamadı. |
Yanıt Gövdesi | Yanıt gövdesinde hiçbir içerik yer almıyor. | Yanıt gövdesi, talep edilen kaynağın yokluğunu açıklayan kullanıcı dostu bir mesaj içerebilir. |
Kullanım Örneği | Yanıtta veri aktarımını gerektirmeyen başarılı bir isteğin onaylanması sırasında kullanılır. | İstenilen kaynağın sunucuda mevcut olmadığını veya mevcut olmadığını belirtmek için kullanılır. |
İstemci Eylemi | Müşteriye isteğin başarılı olduğu bildirilir ancak başka bir işlem yapılmasına gerek yoktur. | İstemci, kullanıcıyı bilgilendirmek, yönlendirmek veya alternatif bir istekte bulunmak gibi uygun eylemleri gerçekleştirebilir. |
Örnekler | Hiçbir ek verinin gönderilmesinin gerekmediği bir DELETE isteği. Yanıt gövdesi gerektirmeyen başarılı bir güncelleme. | Var olmayan bir URL'ye erişmeye çalışılıyor. Silinmiş veya hiç var olmayan bir kaynağı sorgulamak. |
Ortak Başlıklar | İçerik Türü: Geçerli değil (içerik yok). Önbellek Kontrolü: Önbellek yok, depolama yok (önbelleğe almamanızı öneririz). | İçerik Türü: Sunucunun yapılandırmasına bağlıdır. Önbellek Kontrolü: Bu, kaynağın sonraki isteklerde bulunamaması durumunda önbelleğe alınmaması gerektiğini gösterebilir. |
Yönlendirmeler | Genellikle yeniden yönlendirmeye gerek yoktur. | Sunucu veya kaynak taşınmışsa (örneğin, 3xx durum kodu kullanılarak) yeniden yönlendirme meydana gelebilir. |
Okuyun: WordPress Sitesi ve Android için 404 Bulunamadı Hatası Nasıl Düzeltilir?
Çözüm
HTTP 204 içerik yok, diğer HTTP hata kodlarından farklı olarak yalnızca bir yanıt kodudur; bu, sunucunun isteği başarıyla işlediğini ancak yanıtta gösterilecek içerik olmadığını gösterir.
404 hatası bulunamadı hatasına benzeyebilir ancak tamamen farklıdır ve farklı bir kullanım senaryosuna sahiptir. Ancak durum ne olursa olsun, yanlış kullanılırsa veya yanlış yapılandırılırsa SEO'nuza da zarar verebileceğini unutmayın.
Sıkça Sorulan Sorular
HTTP 204 ne anlama geliyor?
HTTP 204 içerik yok yanıt kodu, sunucunun istemci tarafından gönderilen isteği yerine getirerek işini yaptığını ancak sunucunun istemciye geri gönderecek herhangi bir içerik bulamadığını gösterir.
HTTP 304 ile 204 arasındaki fark nedir?
durum kodları 304 ve 204'ün her ikisi de yanıt gövdesinde yeni içeriğin gönderilmediği durumları belirtir. HTTP 304 daha çok önbelleğe alma ve koşullu isteklere odaklanırken, HTTP 204 ek içerik olmadan başarılı işlemenin genel bir göstergesidir.
204 kod silme nedir?
204 İçerik Yok DELETE durumu, sunucunun bir kaynağı silme isteğini başarıyla işlediğini, ancak yanıt gövdesinde gönderilecek ek içerik olmadığını gösterir. Bu, silme işleminin başarılı olduğunu ve yanıtta herhangi bir veri döndürülmesine gerek olmadığını belirtir.
Rahul Kumar, WordPress ve web barındırma konusunda uzmanlaşmış bir web tutkunu ve içerik stratejistidir. Yılların deneyimi ve sektör trendlerini takip etme kararlılığıyla trafiği yönlendiren, etkileşimi artıran ve dönüşümleri artıran etkili çevrimiçi stratejiler oluşturuyor. Rahul'ın ayrıntılara olan ilgisi ve ilgi çekici içerik oluşturma yeteneği, onu çevrimiçi varlığını geliştirmek isteyen her marka için değerli bir varlık haline getiriyor.