Digital Transformation
Content Negotiation
TL;DR: Content Negotiation adalah mekanisme HTTP saat server memilih versi terbaik dari sebuah resource berdasarkan preferensi yang dikirim browser, misalnya format gambar, bahasa, atau metode kompresi. Berkat ini, satu URL bisa melayani WebP ke browser modern dan JPEG ke browser lama tanpa mengubah alamatnya.
Apa itu Content Negotiation?
Content Negotiation adalah proses tawar-menawar antara browser dan server tentang bentuk resource yang paling cocok untuk dikirim. Browser mengirim header seperti Accept, Accept-Language, dan Accept-Encoding, lalu server membaca header itu dan memutuskan versi mana yang dikirim. Analogi sederhananya: Anda masuk restoran dan pelayan menyesuaikan menu berdasarkan bahasa dan preferensi Anda, tanpa Anda harus pindah meja.
Mekanisme ini bekerja di lapisan HTTP, sehingga sering ditangani otomatis oleh server atau CDN tanpa perlu kode aplikasi.
Jenis Negosiasi yang Umum
| Header browser | Yang dinegosiasikan | Contoh hasil |
|---|---|---|
| Accept | Format konten | image/webp vs image/jpeg |
| Accept-Language | Bahasa | id-ID vs en-US |
| Accept-Encoding | Kompresi | gzip, br (Brotli) |
Penjelasan resmi tersedia di dokumentasi MDN tentang Content Negotiation.
Kenapa Penting?
Bagi pemilik website, content negotiation berarti satu URL bisa melayani versi paling efisien ke tiap pengunjung tanpa menggandakan halaman. Saat menangani optimasi gambar di proyek klien, mengaktifkan negosiasi format WebP lewat header sering memangkas ukuran transfer secara signifikan tanpa mengubah satu pun tautan internal. Efek sampingnya, kompresi yang tepat membantu TTFB dan waktu muat keseluruhan.
Pertanyaan Umum
Apakah content negotiation mempengaruhi SEO?
Secara tidak langsung, ya. Negosiasi yang benar menjaga satu URL kanonik sambil menyajikan versi optimal, sehingga tidak memecah sinyal peringkat ke banyak alamat.
Siapa yang biasanya mengatur ini?
Umumnya server web atau CDN mengaturnya otomatis. Developer cukup memastikan konfigurasi kompresi dan format gambar diaktifkan.
Istilah Terkait