HTTPQUERY
Bahasa Indonesia

Accept

Penggunaan

Header Accept menggerakkan negosiasi konten. Klien mengirimkan daftar media type yang diurutkan berdasarkan preferensi, dan server memilih kecocokan terbaik dari representasi yang tersedia untuk sumber daya yang diminta.

Browser menyetel header ini secara otomatis berdasarkan konteks permintaan. Permintaan navigasi biasanya meminta text/html, sedangkan elemen gambar meminta format gambar yang umum. Klien API sering mengirim application/json atau application/xml.

Ketika server tidak memiliki representasi yang cocok dengan tipe mana pun yang tercantum, respons yang diharapkan adalah 406 Not Acceptable. Dalam praktiknya, banyak server mengabaikan header ini dan justru mengembalikan representasi bawaan.

Catatan

Header Accept tidak wajib. Menghilangkan header ini berarti klien menerima media type apa pun (/). Browser mengirim / sebagai fallback, dan banyak server mengabaikan Accept sepenuhnya serta mengembalikan Content-Type tetap tanpa memperhatikan preferensi klien.

media-type/subtype

Sebuah media type spesifik seperti text/html atau application/json. Server memperlakukan pasangan type/subtype lengkap sebagai preferensi yang konkret.

media-type/*

Subtype wildcard. image/* menandakan penerimaan terhadap format gambar apa pun, baik image/png, image/webp, maupun image/avif.

*/*

Menerima media type apa pun. Wildcard ini berperan sebagai fallback ketika tidak ada tipe lain yang cocok.

;q= (nilai kualitas)

Bobot antara 0 dan 1 yang menyatakan preferensi relatif. Nilai yang lebih tinggi menunjukkan preferensi yang lebih kuat. Jika dihilangkan, bobot bawaannya adalah 1.0. Nilai 0 berarti tipe tersebut tidak dapat diterima.

Contoh

Browser yang meminta halaman HTML mengirim beberapa media type yang diurutkan berdasarkan nilai kualitas. Tipe dengan bobot tertinggi yang didukung server akan menang.

Accept: text/html, application/xhtml+xml, */*;q=0.8

Klien API yang meminta JSON dengan fallback XML memberikan nilai kualitas yang lebih rendah kepada XML.

Accept: application/json, application/xml;q=0.9

Agen AI meminta halaman dalam format Markdown untuk mengurangi konsumsi token, dengan fallback HTML.

Accept: text/markdown, text/html;q=0.9

Agen AI dan negosiasi konten

Penyedia CDN seperti Cloudflare mengonversi halaman HTML menjadi Markdown secara langsung ketika sebuah permintaan menyertakan Accept: text/markdown. Konversi tersebut mengurangi jumlah token hingga 80%, menjadikan negosiasi konten sebagai optimasi yang praktis bagi agen dan crawler berbasis LLM.

Klien API yang meminta respons error terstruktur menggunakan application/problem+json berdampingan dengan content type biasa. Server mengembalikan detail masalah untuk error dan JSON untuk respons yang berhasil.

Accept: application/problem+json, application/json

Sebuah permintaan yang mencantumkan beberapa format teks dengan prioritas eksplisit. text/html membawa bobot bawaan 1.0, text/plain menyusul dengan 0.9, format teks lainnya dengan 0.8, dan selebihnya dengan 0.7.

Accept: text/html, text/plain;q=0.9, text/*;q=0.8, */*;q=0.7

Catatan

Ketika dua tipe memiliki nilai kualitas yang sama, tipe yang lebih spesifik yang diutamakan. Jika text/html dan text/* sama-sama membawa bobot 1.0, server memilih text/html.