Protokol HTTP telah bertahan dengan struktur yang relatif stabil selama bertahun-tahun. Kini, metode baru bernama QUERY resmi hadir dan menjadi perbincangan penting di kalangan pengembang perangkat lunak, khususnya mereka yang berkecimpung di bidang backend.
Metode QUERY dirancang khusus untuk operasi pembacaan data yang membutuhkan badan permintaan atau request body. Pendekatan ini menawarkan cara yang jauh lebih rapi dan terstruktur dibandingkan metode GET yang melekatkan semua parameter pada URL.
Selama beberapa dekade, GET menjadi standar utama untuk mengambil data dari server. Cara ini sederhana, mudah dibaca, dan mendukung mekanisme caching. Namun, masalah mulai muncul ketika sebuah aplikasi e-commerce mengharuskan pengguna memfilter produk berdasarkan kategori, rentang harga, rating, ketersediaan, hingga warna secara bersamaan.
Panjang URL menjadi kendala nyata. Browser, server, dan proxy memiliki batasan karakter praktis pada URL. Jika seseorang memilih terlalu banyak filter seperti brand apple, dell, lenovo, rating 4 hingga 5, serta storage 512GB dan 1TB sekaligus, API berisiko gagal beroperasi karena batas karakter terlampaui.
Tidak hanya soal panjang, seluruh data di dalam permintaan GET tertanam di URL. Informasi tersebut dapat dengan mudah terekam dalam riwayat peramban, log server, hingga layanan analitik pihak ketiga. Dalam situasi tertentu, hal ini menimbulkan risiko kebocoran data pencarian yang sebenarnya bersifat sensitif.
Objek data yang kompleks juga tidak muat secara natural ke dalam GET. Bayangkan mengirimkan struktur JSON berlapis untuk filter kategori laptop dan tablet dengan rentang harga 50.000 hingga 150.000 serta rating 4 dan 5. Begitu diubah menjadi parameter query, strukturnya langsung kehilangan kejelasan dan menjadi sulit dirawat.
Banyak pengembang akhirnya memilih jalan pintas dengan menggunakan POST untuk keperluan pencarian. Contohnya, memanggil endpoint POST /products/search dengan membawa filter di dalam body. Meski masalah teknis terselesaikan, secara semantik hal ini salah kaprah karena POST umumnya mengisyaratkan terjadinya perubahan atau pembuatan sumber daya di server.
Di Indonesia, fenomena ini sangat relevan dengan ekosistem teknologi lokal. Perusahaan rintisan berskala unicorn dan perbankan digital di Tanah Air kerap merancang endpoint pencarian kompleks menggunakan POST hanya demi menghindari batasan URL. Kehadiran QUERY memberi jawaban standar yang membuat arsitektur API di Indonesia menjadi lebih bersih dan sesuai kaidah protokol web.
Kendati demikian, adopsi metode ini di infrastruktur lokal masih menemui rintangan. Banyak gateway API dan proxy terbalut yang digunakan perusahaan Indonesia belum mendukung pemrosesan QUERY secara penuh. Transformasi dari POST ke QUERY membutuhkan penyesuaian pada middleware dan framework yang saat ini masih berfokus pada metode konvensional.
Darshan Raval, Technology Lead di Infosys sekaligus penggagas ulasan mengenai metode ini, menegaskan bahwa QUERY bukanlah pengganti GET. Ia menyatakan QUERY mengisi celah yang selama ini memaksa developer memilih opsi paling tidak buruk dalam merancang API pencarian.
Menurut Raval, metode baru ini membawa kejelasan semantik yang selama ini hilang. QUERY secara tegas menyatakan niat pengguna: sekadar mengajukan pertanyaan atau membaca data tanpa mengubah kondisi server. Perbedaan mendasar ini krusial untuk dokumentasi API yang profesional.
Dukungan ekosistem terhadap QUERY masih dalam tahap evolusi. Peramban, framework backend, hingga infrastruktur server belum seragam menerima metode ini. Sistem produksi dipastikan akan tetap mengandalkan GET untuk pencarian sederhana dan POST untuk body kompleks dalam waktu yang cukup lama.
Untuk pengembang di Indonesia, mempelajari QUERY menjadi investasi pengetahuan yang berharga. Fitur yang hari ini terasa baru berpotensi menjadi praktik terbaik atau best practice di masa depan. HTTP memang jarang berubah, namun setiap penambahan standar seperti ini layak mendapat perhatian serius dari insan teknologi.