Status Kodu 415 Desteklenmeyen Medya Türü Nedir? Format Uyuşmazlığı

INEZA Felin-Michel

INEZA Felin-Michel

14 October 2025

Status Kodu 415 Desteklenmeyen Medya Türü Nedir? Format Uyuşmazlığı

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

Yeni bir API ile entegrasyon yapıyorsunuz. Tüm doğru verilerle dikkatlice bir JSON isteği oluşturup gönderiyorsunuz ve beklediğiniz başarılı yanıt yerine sinir bozucu bir hata alıyorsunuz: 415 Desteklenmeyen Medya Türü. Kimlik doğrulamanızı, uç nokta URL'nizi, veri yükünüzü iki kez kontrol ediyorsunuz — her şey doğru görünüyor. Peki ne yanlış gitti?

Sorun muhtemelen gönderdiğiniz şeyle değil, sunucuya ne gönderdiğinizi nasıl bildirdiğinizle ilgili. Bu yaygın ama çoğu zaman kafa karıştırıcı durum kodu, veri formatındaki iletişim kopukluklarıyla ilgilidir.

415 hatası, sunucunun "Bana veri göndermeye çalıştığınızı anlıyorum, ancak bu dili konuşmuyorum. Onu gerçekten işleyebileceğim farklı bir formatta göndermenizi bekliyordum" deme şeklidir.

API'larla çalışan bir geliştiriciyseniz – ister API geliştiriyor ister tüketiyor olun – 415 durum kodunu anlamak, sorunsuz entegrasyonlar ve sinir bozucu hata ayıklama oturumlarından kaçınmak için çok önemlidir.

Bu ayrıntılı kılavuzda, 415 Desteklenmeyen Medya Türü durum kodunun ne anlama geldiğini, neden ortaya çıktığını, tipik senaryoları ve bunu düzeltmenin veya önlemenin pratik yollarını inceleyeceğiz. İster API entegrasyonlarıyla uğraşan bir geliştirici olun, ister web iletişiminin nasıl çalıştığını merak edin, bu gönderi 415 hatalarında ustalaşmanıza yardımcı olacaktır.

💡
API isteklerinizin yanlış medya türleri nedeniyle asla başarısız olmamasını istiyorsanız, Apidog'u bugün deneyin. Ücretsiz indirilebilir, kullanımı basittir ve geliştiricilerin içerik türü uyumsuzluklarını anında yakalamasına yardımcı olur. Apidog ile farklı başlıkları simüle edebilir, otomatik testler çalıştırabilir ve ekibinizle tek bir yerden işbirliği yapabilirsiniz.
Düğme

Pekala, hadi konuya dalalım ve HTTP 415 etrafındaki kafa karışıklığını bir kez ve herkes için giderelim.

Sorun: Sunucunun Dilini Konuşmak

Sadece Fransızca okuyan birine mektup gönderdiğinizi hayal edin. En etkileyici, mükemmel yapılandırılmış İngilizce mektubu yazabilirsiniz, ancak alıcı İngilizce anlamazsa, mesajınız işe yaramaz olacaktır. 415 hatası, bu senaryonun dijital karşılığıdır.

Web sunucuları genellikle belirli veri formatlarını anlayacak şekilde inşa edilir. Gelen verinin hangi "dilde" yazıldığını bilmeleri gerekir, böylece onu düzgün bir şekilde ayrıştırabilir ve işleyebilirler. Content-Type başlığı, istemcinin sunucuya verinin hangi formatta olduğunu bildirme şeklidir.

HTTP 415 Desteklenmeyen Medya Türü Gerçekten Ne Anlama Geliyor?

415 Desteklenmeyen Medya Türü durum kodu, sunucunun isteği anladığını, ancak yük formatının (medya türü) istenen kaynak için sunucu tarafından desteklenmeyen bir formatta olması nedeniyle isteği kabul etmeyi reddettiğini belirtir.

Daha basit bir ifadeyle, istemciniz (Postman, Apidog veya tarayıcınız gibi) sunucunun anlamadığı veya işlemeye yapılandırılmadığı bir formatta veri gönderiyor.

Sunucu esasen şunu söylüyor: "Verilerinizi aldım, ancak bu belirli uç nokta için anlamadığım veya desteklemediğim bir formatta olduğu için işleyemiyorum."

Tipik bir 415 yanıtı şöyle görünür:

HTTP/1.1 415 Unsupported Media TypeContent-Type: application/json
{
  "error": "Unsupported Media Type",
  "message": "The request payload format is not supported.",
  "supported_types": ["application/json", "application/xml"]
}

Bu size şunu söyler: "Hey! İsteğinizi aldım, ancak bu içerik türünü işleyemiyorum."

Bu durum en yaygın olarak, gönderilen verinin formatını (JSON, XML veya çok parçalı form verileri gibi) belirten HTTP isteğindeki Content-Type başlığının değeriyle ilgilidir. Bazı sunucular hangi formatları destekledikleri hakkında daha faydalı bilgiler sağlayabilirken, diğerleri daha genel bir hata mesajı döndürebilir.

Derinlemesine İnceleme: Teknik Tanım (Meraklılar İçin)

HTTP/1.1 spesifikasyonuna (RFC 7231) göre, Bölüm 6.5.13, 415 durum kodunu şu şekilde tanımlar:

“415 (Desteklenmeyen Medya Türü) durum kodu, kaynak sunucunun, yükün hedef kaynak üzerindeki bu yöntem tarafından desteklenmeyen bir formatta olması nedeniyle isteğe hizmet vermeyi reddettiğini belirtir.”

Buradaki kilit nokta:

Meselenin Özü: Content-Type Başlığı

Content-Type başlığı, 415 hatası mı yoksa başarılı bir yanıt mı alacağınızı belirleyen kritik bilgi parçasıdır. Bu başlık, sunucuya istek gövdesinde ne tür veri gönderdiğinizi söyler.

Karşılaşacağınız en yaygın içerik türleri şunlardır:

Yaygın Content-Type Değerleri:

JSON API'leri İçin:

Form Verileri İçin:

XML İçin:

Düz Metin İçin:

415 Hatası Nasıl Oluşur: Adım Adım Açıklama

Bir 415 hatası oluştuğunda tam olarak ne olduğunu adım adım inceleyelim.

Adım 1: İstemci Bir İstek Gönderir

Bir istemci uygulaması, bir sunucu API uç noktasına istek gönderir. Örneğin, yeni bir kullanıcı oluşturmaya çalıştığımızı varsayalım:

POST /api/users HTTP/1.1Host: api.example.comContent-Type: application/xmlContent-Length: 125
<user><name>John Doe</name><email>john@example.com</email></user>

Adım 2: Sunucu Content-Type'ı Kontrol Eder

Sunucu isteği alır ve Content-Type başlığını inceler. application/xml olduğunu görür ve /api/users uç noktası için yapılandırmasını kontrol eder.

Adım 3: Sunucu Sorunu Fark Eder

Sunucunun /api/users uç noktası yalnızca application/json kabul edecek şekilde yapılandırılmıştır. Bu uç nokta için bir XML ayrıştırıcısı kurulu değildir ve gelen veriyi nasıl işleyeceğini bilmemektedir.

Adım 4: 415 Yanıtı

Yanlış biçimlendirilmiş veriyi işlemeye çalışmak (bu durum hatalara veya güvenlik sorunlarına yol açabilir) yerine, sunucu 415 Desteklenmeyen Medya Türü durum koduyla yanıt verir.

Adım 5: İstemci Hatayı Alır

İstemci uygulaması 415 yanıtını alır ve genellikle Content-Type başlığını düzelterek ve isteği yeniden göndererek uygun şekilde ele alması gerekir.

415 Hatasıyla Karşılaşabileceğiniz Yaygın Senaryolar

1. API'larda Dosya Yükleme

Bir görseli multipart/form-data yerine application/json kullanarak yüklemeye çalışırsanız, sunucu dosya içeriğini anlamayacaktır.

2. Katı Doğrulamaya Sahip Özel API'lar

Katı şema doğrulamasına sahip API'lar, kurallarına uymayan her isteği reddeder.

3. Güncel Olmayan SDK'ları Kullanan Mobil Uygulamalar

Bazen eski SDK'lar, modern API'ların artık desteklemediği güncel olmayan başlıklarla istek gönderir.

4. Çapraz Kaynak İstekleri (CORS Sorunları)

Bazı CORS yapılandırmaları, kabul edilen içerik türlerini kısıtlayabilir ve dolaylı olarak 415 yanıtına neden olabilir.

Content-Type Başlığının Rolü

HTTP isteklerindeki Content-Type başlığı, istemcinin sunucuya ne tür veri gönderdiğini bildirir.

Örneğin:

Bu başlık eksikse veya sunucunun işleyemeyeceği bir şey söylüyorsa, muhtemelen bir 415 yanıtı alırsınız.

415 Hatalarına Neden Olan Gerçek Dünya Senaryoları

Senaryo 1: Eksik Content-Type Başlığı

POST /api/users HTTP/1.1Host: api.example.com

{"name": "John Doe", "email": "john@example.com"}

Birçok sunucu bunu reddedecektir, çünkü veriyi nasıl yorumlayacaklarını söyleyen bir Content-Type başlığı yoktur.

Senaryo 2: Veri İçin Yanlış Content-Type

POST /api/users HTTP/1.1Host: api.example.comContent-Type: application/x-www-form-urlencoded

{"name": "John Doe", "email": "john@example.com"}

Başlık form verisi olduğunu söylüyor, ancak gövde JSON. Bu uyumsuzluk sunucuyu şaşırtır.

Senaryo 3: Sunucu Formatı Desteklemiyor

POST /api/users HTTP/1.1Host: api.example.comContent-Type: application/xml
<user><name>John</name></user>

Sunucu, XML iyi biçimlendirilmiş olsa bile bu uç nokta için yalnızca JSON'u destekleyebilir.

Apidog ile Content-Type İşlemesini Test Etme

Apidog Yeni Kullanıcı Arayüzü

Bu hatalarla uğraşırken Apidog'un hayatınızı nasıl kolaylaştırabileceğinden bahsedelim. Farklı içerik türlerini test etmek ve API'nizin bunları doğru şekilde işlediğinden emin olmak, Apidog'un parladığı noktadır. Bu senaryoları karmaşık kod yazmadan test etmeyi inanılmaz derecede kolaylaştırır.

Apidog ile şunları yapabilirsiniz:

  1. Content-Type Başlıklarını Kolayca Ayarlayın: Apidog'un sezgisel arayüzünü kullanarak yaygın içerik türlerinden seçim yapın veya özel olanları belirtin.
  2. Birden Çok Formatı Test Edin: Sunucunuzun nasıl yanıt verdiğini görmek için aynı uç noktayı farklı içerik türleriyle (JSON, XML, form verileri) hızlıca test edin.
  3. Hata Yanıtlarını Doğrulayın: API'nizin desteklenmeyen formatlar aldığında yardımcı hata mesajlarıyla doğru 415 yanıtlarını döndürdüğünden emin olun.
  4. Uç Durumları Test Edin: API'nizin bunları sorunsuz bir şekilde işlediğinden emin olmak için yanlış biçimlendirilmiş içerik türleri, eksik başlıklar veya uyumsuz verilerle deneyler yapın.
  5. Content-Type Testini Otomatikleştirin: API'nizin desteklenen formatları doğru bir şekilde kabul ettiğini ve desteklenmeyenleri uygun şekilde reddettiğini otomatik olarak doğrulayan test paketleri oluşturun.
Düğme

Örneğin, Apidog'da bir POST isteği ayarladığınızda, istek gövdesi türünüze (JSON, XML, form verileri vb.) göre doğru Content-Type'ı otomatik olarak uygular.

Bu, daha az sürpriz ve test oturumlarınızı mahveden 415 hatalarının sona ermesi anlamına gelir. Bu proaktif test, saatlerce hata ayıklamadan tasarruf sağlayabilir ve API'nizin öngörülebilir şekilde davrandığından emin olabilir.

415 ve Diğer 4xx Hataları: Farkı Bilmek

415'i diğer istemci hatalarından ayırmak önemlidir:

415 Hatalarını Yönetmek İçin En İyi Uygulamalar

API Tüketicileri İçin (İstemci Geliştiricileri):

API Sağlayıcıları İçin (Sunucu Geliştiricileri):

İyi Tasarlanmış Bir 415 Yanıtı Örneği:

HTTP/1.1 415 Unsupported Media TypeContent-Type: application/json
{
  "error": "unsupported_media_type",
  "message": "Bu uç nokta yalnızca application/json yüklerini kabul eder.",
  "supported_types": ["application/json"],
  "documentation": "<https://api.example.com/docs/content-types>"
}

415'e Neden Olan Yaygın Content-Type Hataları

İşte geliştiricilerin sıkça düştüğü bazı tuzaklar:

Hata Açıklama Örnek
Yanlış başlık adı kullanma Yazım hatası veya büyük/küçük harf sorunu contenttype yerine Content-Type
JSON yerine form verisi gönderme Sunucu yalnızca JSON bekliyor application/x-www-form-urlencoded
Karakter setini unutma Eksik kodlama bilgisi application/json; charset=utf-8
Boş gövde gönderme Gerekli yük eksik Veri olmadan POST /api
Desteklenmeyen dosya türleri kullanma Yanlış yükleme formatı .png yerine .exe yükleme

Bunlar küçük görünebilir ancak büyük istek hatalarına neden olabilir.

415 Hataları İçin Yaygın Düzeltmeler

Bir 415 hatasıyla karşılaşıyorsanız, işte en yaygın çözümler:

Eksik Content-Type Başlığını Ekleyin:

POST /api/users HTTP/1.1Content-Type: application/json

Content-Type Başlığını Düzeltin:

# Önce (yanlış):
Content-Type: text/plain
# Sonra (doğru):
Content-Type: application/json

Verilerinizi Desteklenen Bir Formata Dönüştürün:

Sunucu yalnızca JSON kabul ediyorsa, XML veya form verileri değil, düzgün JSON gönderdiğinizden emin olun.

Yazım Hatalarını Kontrol Edin:

# Yanlış:
Content-Type: application/jason

# Doğru:
Content-Type: application/json

Gelişmiş Hususlar

İçerik Uzlaşması (Content Negotiation)

Bazı gelişmiş API'ler, istemcinin Accept başlığını kullanarak hangi formatları kabul edebileceğini belirtebildiği içerik uzlaşmasını destekler:

GET /api/users/123 HTTP/1.1Accept: application/json, application/xml;q=0.9

Bu, sunucuya "JSON'u tercih ederim, ancak gerekirse XML'i de kabul edebilirim" der.

Karakter Seti Parametresi

Metin tabanlı formatlar için karakter kodlamasını belirtmeniz gerekebilir:

Content-Type: application/json; charset=utf-8

Sonuç: Açık İletişimin Önemi

HTTP 415 Desteklenmeyen Medya Türü durum kodu, web iletişiminin temel bir yönünü vurgular: her iki tarafın da veri alışverişi için kullandıkları "dil" üzerinde anlaşması gerekir. Doğru veriyi göndermek yeterli değildir; onu doğru formatta göndermeli ve o formatın ne olduğunu doğru bir şekilde bildirmelisiniz.

HTTP 415 Desteklenmeyen Medya Türü, sunucuların yalnızca beklenen ve uyumlu veri formatlarını işlemesini sağlamanın önemli bir parçasıdır. Content-Type başlıklarını doğru şekilde işlemek, API spesifikasyonlarına uymak ve Apidog gibi araçlarla test yapmak bu hataları önemli ölçüde azaltabilir.

415 hatalarını anlamak ve doğru şekilde ele almak, sizi daha etkili bir API tüketicisi ve daha iyi bir API tasarımcısı yapacaktır. İçerik türlerine dikkat ederek ve istemciler ile sunucular arasında açık iletişim sağlayarak, bu sinir bozucu hatalardan kaçınabilir ve daha sağlam entegrasyonlar oluşturabilirsiniz. Unutmayın, API'ler istemci ve sunucu arasındaki açık iletişimle gelişir. Eğer aynı "dili" (bu durumda medya türü) konuşurlarsa, her şey sorunsuz çalışır.

Bu yüzden bir dahaki sefere bir 415 hatasıyla karşılaştığınızda, bunun karmaşık bir sunucu hatası olmadığını, genellikle düzeltilmesi kolay basit bir iletişim sorunu olduğunu unutmayın. Ve API'ler geliştirirken veya test ederken, Apidog gibi bir araç kullanmak, içerik türlerinizin her zaman doğru olduğundan emin olmanıza yardımcı olacak ve bu hataları ortaya çıkmadan önleyecektir.

Düğme

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin