Kode Status 415 Unsupported Media Type: Apa Artinya dan Cara Mengatasi Format Tidak Sesuai

INEZA Felin-Michel

INEZA Felin-Michel

14 October 2025

Kode Status 415 Unsupported Media Type: Apa Artinya dan Cara Mengatasi Format Tidak Sesuai

Anda sedang berintegrasi dengan API baru. Anda dengan hati-hati membuat permintaan JSON dengan semua data yang benar, mengirimkannya, dan alih-alih respons sukses yang Anda harapkan, Anda mendapatkan kesalahan yang membuat frustrasi: 415 Unsupported Media Type. Anda memeriksa ulang otentikasi Anda, URL endpoint Anda, payload data Anda—semuanya tampak benar. Jadi, apa yang salah?

Masalahnya kemungkinan bukan pada apa yang Anda kirim, tetapi pada bagaimana Anda memberitahu server apa yang Anda kirim. Kode status umum namun sering membingungkan ini adalah tentang kerusakan komunikasi dalam format data.

Kesalahan 415 adalah cara server mengatakan, "Saya mengerti Anda mencoba mengirim data kepada saya, tetapi saya tidak memahami bahasa ini. Saya mengharapkan Anda mengirimkannya dalam format berbeda yang benar-benar dapat saya proses."

Jika Anda seorang pengembang yang bekerja dengan API—baik membangunnya maupun mengonsumsinya—memahami kode status 415 sangat penting untuk integrasi yang lancar dan menghindari sesi debugging yang membuat frustrasi.

Dalam panduan terperinci ini, kita akan menjelajahi apa arti kode status 415 Unsupported Media Type, mengapa itu terjadi, skenario umum, dan cara praktis untuk memperbaikinya atau menghindarinya. Baik Anda seorang pengembang yang berurusan dengan integrasi API atau ingin tahu tentang cara kerja komunikasi web, postingan ini akan membantu Anda menguasai kesalahan 415.

💡
Jika Anda ingin memastikan permintaan API Anda tidak pernah gagal karena jenis media yang salah, coba Apidog hari ini. Ini gratis untuk diunduh, mudah digunakan, dan membantu pengembang mendeteksi ketidakcocokan jenis konten secara instan. Dengan Apidog, Anda dapat mensimulasikan header yang berbeda, menjalankan tes otomatis, dan berkolaborasi dengan tim Anda, semuanya di satu tempat.

button

Baiklah, mari kita selami dan hilangkan kebingungan seputar HTTP 415 sekali untuk selamanya.

Masalah: Berbicara Bahasa Server

Bayangkan Anda mengirim surat kepada seseorang yang hanya membaca bahasa Prancis. Anda bisa menulis surat bahasa Inggris yang paling fasih dan terstruktur sempurna, tetapi jika penerima tidak mengerti bahasa Inggris, pesan Anda akan sia-sia. Kesalahan 415 adalah padanan digital dari skenario ini.

Server web sering kali dibangun untuk memahami format data tertentu. Mereka perlu tahu "bahasa" apa yang digunakan dalam data yang masuk agar dapat mengurai dan memprosesnya dengan benar. Header Content-Type adalah cara klien memberitahu server dalam format apa data tersebut.

Apa Sebenarnya Arti HTTP 415 Unsupported Media Type?

Kode status 415 Unsupported Media Type menunjukkan bahwa server memahami permintaan, tetapi menolak untuk menerimanya karena format payload (jenis media) berada dalam format yang tidak didukung oleh server untuk sumber daya yang diminta.

Secara lebih sederhana, klien Anda (seperti Postman, Apidog, atau browser Anda) mengirim data dalam format yang tidak dipahami atau tidak dikonfigurasi untuk diproses oleh server.

Server pada dasarnya mengatakan: "Saya menerima data Anda, tetapi saya tidak dapat memprosesnya karena dalam format yang tidak saya pahami atau dukung untuk endpoint tertentu ini."

Respons 415 yang umum terlihat seperti ini:

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"]
}

Ini memberitahu Anda, “Hei! Saya menerima permintaan Anda, tetapi saya tidak dapat memproses jenis konten ini.”

Ini paling sering berkaitan dengan nilai header Content-Type dalam permintaan HTTP yang menentukan format data yang dikirim (seperti JSON, XML, atau data formulir multipart). Beberapa server mungkin memberikan informasi yang lebih membantu tentang format apa yang mereka dukung, sementara yang lain mungkin mengembalikan pesan kesalahan yang lebih umum.

Pembahasan Mendalam: Definisi Teknis (untuk yang Penasaran)

Menurut spesifikasi HTTP/1.1 (RFC 7231), Bagian 6.5.13 mendefinisikan kode status 415 sebagai:

“Kode status 415 (Unsupported Media Type) menunjukkan bahwa server asal menolak untuk melayani permintaan karena payload berada dalam format yang tidak didukung oleh metode ini pada sumber daya target.”

Poin utamanya di sini:

Inti Masalah: Header Content-Type

Header Content-Type adalah informasi penting yang menentukan apakah Anda akan mendapatkan kesalahan 415 atau respons yang berhasil. Header ini memberitahu server jenis data apa yang Anda kirim dalam body permintaan.

Berikut adalah jenis konten paling umum yang akan Anda temui:

Nilai Content-Type Umum:

Untuk API JSON:

Untuk Data Formulir:

Untuk XML:

Untuk Teks Polos:

Bagaimana Kesalahan 415 Terjadi: Penjelasan Langkah-demi-Langkah

Mari kita telusuri dengan tepat apa yang terjadi ketika kesalahan 415 muncul.

Langkah 1: Klien Mengirim Permintaan

Aplikasi klien mengirimkan permintaan ke endpoint API server. Misalnya, katakanlah kita mencoba membuat pengguna baru:

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>

Langkah 2: Server Memeriksa Content-Type

Server menerima permintaan dan memeriksa header Content-Type. Server melihat application/xml dan memeriksa konfigurasinya untuk endpoint /api/users.

Langkah 3: Server Menyadari Masalah

Endpoint /api/users server dikonfigurasi untuk hanya menerima application/json. Server tidak memiliki parser XML yang diatur untuk endpoint ini, dan tidak tahu cara menangani data yang masuk.

Langkah 4: Respons 415

Alih-alih mencoba memproses data yang salah format (yang dapat menyebabkan kesalahan atau masalah keamanan), server merespons dengan kode status 415 Unsupported Media Type.

Langkah 5: Klien Menerima Kesalahan

Aplikasi klien menerima respons 415 dan perlu menanganinya dengan tepat—biasanya dengan mengoreksi header Content-Type dan mengirim ulang permintaan.

Skenario Umum di Mana Anda Mungkin Menemui 415

1. Mengunggah File di API

Jika Anda mencoba mengunggah gambar menggunakan application/json alih-alih multipart/form-data, server tidak akan memahami konten file tersebut.

2. API Kustom dengan Validasi Ketat

API dengan validasi skema yang ketat menolak setiap permintaan yang tidak sesuai dengan aturan mereka.

3. Aplikasi Seluler Menggunakan SDK Usang

Terkadang SDK lama mengirim permintaan dengan header usang, yang tidak lagi didukung oleh API modern.

4. Permintaan Lintas Asal (Masalah CORS)

Konfigurasi CORS tertentu dapat membatasi jenis konten yang diterima, secara tidak langsung menyebabkan respons 415.

Peran Header Content-Type

Header Content-Type dalam permintaan HTTP memberitahu server jenis data apa yang dikirim oleh klien.

Misalnya:

Jika header ini hilang atau menyatakan sesuatu yang tidak dapat ditangani server, kemungkinan besar Anda akan melihat respons 415.

Skenario Dunia Nyata yang Menyebabkan Kesalahan 415

Skenario 1: Header Content-Type Hilang

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

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

Banyak server akan menolak ini karena tidak ada header Content-Type yang memberitahu mereka cara menafsirkan data.

Skenario 2: Content-Type yang Salah untuk Data

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

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

Header menyatakan itu adalah data formulir, tetapi body-nya adalah JSON. Ketidakcocokan ini membingungkan server.

Skenario 3: Server Tidak Mendukung Format

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

Server mungkin hanya mendukung JSON untuk endpoint ini, meskipun XML-nya sudah terbentuk dengan baik.

Menguji Penanganan Content-Type dengan Apidog

Mari kita bahas bagaimana Apidog dapat membuat hidup Anda lebih mudah saat berurusan dengan kesalahan-kesalahan ini. Menguji berbagai jenis konten dan memastikan API Anda menanganinya dengan benar adalah di mana Apidog unggul. Ini membuatnya sangat mudah untuk menguji skenario ini tanpa menulis kode yang rumit.

Dengan Apidog, Anda dapat:

  1. Atur Header Content-Type dengan Mudah: Gunakan antarmuka intuitif Apidog untuk memilih dari jenis konten umum atau menentukan yang kustom.
  2. Uji Berbagai Format: Uji endpoint yang sama dengan cepat menggunakan jenis konten yang berbeda (JSON, XML, data formulir) untuk melihat bagaimana server Anda merespons.
  3. Validasi Respons Kesalahan: Pastikan API Anda mengembalikan respons 415 yang tepat dengan pesan kesalahan yang membantu saat menerima format yang tidak didukung.
  4. Uji Kasus Batas: Bereksperimenlah dengan jenis konten yang salah format, header yang hilang, atau data yang tidak cocok untuk memastikan API Anda menanganinya dengan baik.
  5. Otomatiskan Pengujian Content-Type: Buat suite pengujian yang secara otomatis memverifikasi API Anda dengan benar menerima format yang didukung dan menolak format yang tidak didukung dengan benar.

button

Misalnya, saat Anda menyiapkan permintaan POST di Apidog, ia secara otomatis menerapkan Content-Type yang benar berdasarkan jenis body permintaan Anda (JSON, XML, form-data, dll.).

Itu berarti lebih sedikit kejutan dan tidak ada lagi kesalahan 415 yang merusak sesi pengujian Anda. Pengujian proaktif ini dapat menghemat waktu debugging dan memastikan API Anda berperilaku dapat diprediksi.

415 vs. Kesalahan 4xx Lainnya: Mengetahui Perbedaannya

Penting untuk membedakan 415 dari kesalahan klien lainnya:

Praktik Terbaik untuk Menangani Kesalahan 415

Untuk Konsumen API (Pengembang Klien):

Untuk Penyedia API (Pengembang Server):

Contoh Respons 415 yang Dirancang dengan Baik:

HTTP/1.1 415 Unsupported Media TypeContent-Type: application/json
{
  "error": "unsupported_media_type",
  "message": "This endpoint only accepts application/json payloads.",
  "supported_types": ["application/json"],
  "documentation": "<https://api.example.com/docs/content-types>"
}

Kesalahan Content-Type Umum yang Menyebabkan 415

Berikut adalah beberapa kesalahan yang sering dilakukan pengembang:

Kesalahan Deskripsi Contoh
Menggunakan nama header yang salah Kesalahan ketik atau masalah kapitalisasi contenttype alih-alih Content-Type
Mengirim data formulir alih-alih JSON Server hanya mengharapkan JSON application/x-www-form-urlencoded
Melupakan charset Informasi pengkodean hilang application/json; charset=utf-8
Mengirim body kosong Payload yang diperlukan hilang POST /api tanpa data
Menggunakan jenis file yang tidak didukung Format unggahan yang salah Mengunggah .exe alih-alih .png

Perbaikan Umum untuk Kesalahan 415

Jika Anda mengalami kesalahan 415, berikut adalah solusi paling umum:

Tambahkan Header Content-Type yang Hilang:

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

Koreksi Header Content-Type:

# Before (wrong):
Content-Type: text/plain
# After (correct):
Content-Type: application/json

Konversi Data Anda ke Format yang Didukung:

Jika server hanya menerima JSON, pastikan Anda mengirim JSON yang benar, bukan XML atau data formulir.

Periksa Kesalahan Ketik:

# Wrong:
Content-Type: application/jason

# Correct:
Content-Type: application/json

Pertimbangan Lanjutan

Negosiasi Konten

Beberapa API canggih mendukung negosiasi konten, di mana klien dapat menentukan format apa yang dapat diterimanya menggunakan header Accept:

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

Ini memberitahu server "Saya lebih suka JSON, tetapi saya bisa menerima XML jika perlu."

Parameter Charset

Untuk format berbasis teks, Anda mungkin perlu menentukan pengkodean karakter:

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

Kesimpulan: Pentingnya Komunikasi yang Jelas

Kode status HTTP 415 Unsupported Media Type menyoroti aspek fundamental komunikasi web: kedua belah pihak perlu menyepakati "bahasa" yang mereka gunakan untuk bertukar data. Tidak cukup hanya mengirim data yang benar—Anda harus mengirimkannya dalam format yang benar dan mengumumkan dengan tepat format tersebut.

HTTP 415 Unsupported Media Type adalah bagian penting dalam memastikan bahwa server hanya memproses format data yang diharapkan dan kompatibel. Penanganan header Content-Type yang benar, mengikuti spesifikasi API, dan pengujian dengan alat seperti Apidog dapat secara drastis mengurangi kesalahan ini.

Memahami dan menangani kesalahan 415 dengan benar akan membuat Anda menjadi konsumen API yang lebih efektif dan perancang API yang lebih baik. Dengan memperhatikan jenis konten dan menyediakan komunikasi yang jelas antara klien dan server, Anda dapat menghindari kesalahan yang membuat frustrasi ini dan membangun integrasi yang lebih kuat. Ingat, API berkembang pesat berkat komunikasi yang jelas antara klien dan server. Jika mereka berbicara "bahasa" yang sama (dalam hal ini, jenis media), semuanya berjalan lancar.

Jadi, lain kali Anda menemui kesalahan 415, ingatlah bahwa itu bukan kegagalan server yang rumit—itu adalah masalah komunikasi sederhana yang biasanya mudah diperbaiki. Dan saat Anda membangun atau menguji API, menggunakan alat seperti Apidog akan membantu Anda memastikan bahwa jenis konten Anda selalu benar, mencegah kesalahan ini sebelum terjadi.

button

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.