Apa Itu Kesalahan 400 Bad Request dan Cara Memperbaikinya (Panduan Lengkap)
Sebuah kesalahan 400 Bad Request adalah kode status HTTP yang memberi tahu Anda bahwa server menerima permintaan Anda tetapi menolak untuk memprosesnya — bukan karena kegagalan di sisi server, tetapi karena sesuatu dalam permintaan itu sendiri tidak terbentuk dengan baik, tidak valid, atau rusak. Baik Anda seorang pengguna biasa yang menghadapi dinding yang tidak terduga atau administrator sistem yang mendiagnosis server yang salah konfigurasi, memahami kesalahan ini sangat penting untuk pemecahan masalah yang cepat dan efektif.
Panduan komprehensif ini mencakup setiap penyebab, setiap perbaikan, dan setiap skenario — dari kesalahan ketik URL sederhana hingga salah konfigurasi server yang mendalam.
Apa Arti Kesalahan 400 Bad Request?
Dalam protokol HTTP, kode status dalam rentang 4xx menunjukkan kesalahan di sisi klien. 400 secara khusus berarti server memahami format permintaan tetapi menemukan kesalahan sintaks atau tidak dapat diproses sebelum bahkan mencoba memenuhinya.
Variasi Umum Pesan Kesalahan 400
Tergantung pada server, framework, atau CDN yang digunakan, Anda mungkin melihat kesalahan ini ditampilkan sebagai:
400 Bad RequestBad Request – Invalid URLHTTP Error 400400. That's an error.400 Bad Request. The server cannot or will not process the request due to a client error.Invalid request
Semua ini menunjukkan akar penyebab yang sama: klien mengirimkan sesuatu yang tidak dapat diterima server.
Apa yang Menyebabkan Kesalahan 400 Bad Request?
Sebelum melompat ke perbaikan, penting untuk memahami penyebab yang mendasarinya. Kesalahan 400 dapat dipicu oleh berbagai masalah yang mengejutkan:
| Penyebab | Deskripsi |
|---|---|
| Sintaks URL yang tidak terbentuk dengan baik | Karakter yang hilang, simbol ekstra, atau karakter khusus yang tidak dikodekan dengan benar |
| Cookie browser yang rusak | Cookie yang terkait dengan situs menjadi tidak valid, menyebabkan server menolak sesi |
| Ukuran unggahan file terlampaui | File yang diunggah melampaui batas ukuran maksimum yang dikonfigurasi server |
| Header permintaan yang tidak valid | Header HTTP yang tidak diformat dengan benar atau tidak didukung dikirim dengan permintaan |
| Cache DNS yang sudah usang | Catatan DNS yang ketinggalan zaman menunjuk ke alamat IP yang salah atau tidak ada |
| Parameter kueri yang hilang atau tidak valid | Parameter URL yang diperlukan tidak ada, tidak terbentuk dengan baik, atau tidak dikodekan dengan benar |
| Ekstensi browser yang rusak | Ekstensi yang memodifikasi permintaan HTTP dapat merusak header atau menyuntikkan data yang tidak valid |
| Salah konfigurasi server | Kesalahan dalam .htaccess, konfigurasi Nginx, atau aturan plugin keamanan yang menolak permintaan yang valid |
Cara Memperbaiki Kesalahan 400 Bad Request: Langkah demi Langkah
1. Periksa URL untuk Kesalahan Ketik dan Sintaks
URL yang tidak terbentuk dengan baik adalah penyebab tunggal paling umum dari kesalahan 400, dan ini adalah hal pertama yang harus Anda periksa. Bahkan satu karakter yang salah tempat dapat membuat permintaan tidak dapat dibaca oleh server.
Apa yang harus dicari:
- Kesalahan ejaan dalam domain atau jalur
- Garis miring ganda (
//) di mana seharusnya tidak ada - Karakter khusus yang tidak dikodekan — spasi, tanda kurung, atau ampersand yang belum dikodekan URL
- String kueri yang rusak dengan tanda
=atau pemisah&yang hilang
Contoh praktis:
URL seperti https://example.com/search?q=hello world berisi spasi yang tidak dikodekan, yang tidak valid. Versi yang benar dan dikodekan dengan benar adalah:
https://example.com/search?q=hello%20worldSelalu periksa kembali URL di bilah alamat browser Anda sebelum mengasumsikan masalahnya lebih dalam.
2. Hapus Cache dan Cookie Browser Anda
Cookie yang rusak atau ketinggalan zaman dan file cache adalah penyebab utama kesalahan 400, terutama di situs yang telah Anda kunjungi sebelumnya. Browser mungkin mengirimkan cookie cache yang sekarang tidak valid yang ditolak server sepenuhnya.
Di Google Chrome:
- Klik menu tiga titik (⋮) di sudut kanan atas.
- Navigasi ke Alat lainnya → Hapus data penelusuran.
- Centang Cookie dan data situs lainnya dan Gambar dan file cache.
- Klik Hapus data.
Di Mozilla Firefox:
- Klik menu hamburger (☰) dan buka Pengaturan.
- Pilih Privasi & Keamanan.
- Di bawah *Cookie dan Data Situs*, klik Hapus Data.
- Centang kedua opsi dan klik Hapus.
Di Safari (macOS):
- Klik Safari di bilah menu dan buka Preferensi → Privasi.
- Klik Kelola Data Situs, lalu Hapus Semua.
- Mulai ulang Safari dan coba URL lagi.
Setelah menghapus cache dan cookie, muat ulang halaman dan periksa apakah kesalahan masih berlanjut.
3. Flush Cache DNS Anda
Sistem operasi Anda menyimpan hasil pencarian DNS secara lokal untuk mempercepat penelusuran. Jika catatan cache tersebut menjadi ketinggalan zaman atau rusak, catatan tersebut dapat mengarahkan browser Anda ke server yang salah — memicu kesalahan koneksi, termasuk respons 400.
Di Windows:
Buka Command Prompt sebagai Administrator dan jalankan:
ipconfig /flushdnsAnda harus melihat konfirmasi: *"Berhasil menghapus Cache Resolver DNS."*
Di macOS (Ventura / Monterey / Sonoma):
Buka Terminal dan jalankan:
sudo killall -HUP mDNSResponderDi Linux (systemd-resolved):
sudo systemd-resolve --flush-cachesSetelah flush, tutup dan buka kembali browser Anda, lalu coba permintaan lagi.
4. Periksa Batas Ukuran Unggahan File
Jika kesalahan 400 muncul khususnya ketika Anda mengunggah file, file hampir pasti melebihi ukuran unggahan maksimum yang dikonfigurasi server. Server memberlakukan batas ini untuk mencegah penyalahgunaan dan kelelahan sumber daya.
Untuk pengguna akhir:
- Coba kompres file sebelum mengunggah.
- Bagi file besar menjadi potongan yang lebih kecil jika aplikasi mendukungnya.
- Periksa dokumentasi situs web untuk batas unggahan yang dinyatakan.
Untuk administrator server:
Di Apache, edit .htaccess atau httpd.conf Anda:
LimitRequestBody 104857600*(Ini menetapkan batas ke 100MB.)*
Di Nginx, edit nginx.conf Anda:
client_max_body_size 100M;Di PHP, perbarui php.ini:
upload_max_filesize = 100M
post_max_size = 100MMulai ulang server web Anda setelah membuat perubahan ini.
> Jika Anda menjalankan lingkungan terkelola, pertimbangkan untuk meningkatkan ke paket VPS Hosting di mana Anda memiliki kontrol penuh atas parameter konfigurasi server.
5. Nonaktifkan Ekstensi Browser
Ekstensi browser — terutama pemblokir iklan, alat privasi, dan pengubah permintaan — dapat mengubah header HTTP dengan cara yang membuat permintaan tidak valid. Jika Anda baru-baru ini memasang ekstensi baru dan mulai melihat kesalahan 400, ini kemungkinan besar penyebabnya.
Di Google Chrome:
- Ketik
chrome://extensions/di bilah alamat dan tekan Enter. - Matikan semua ekstensi.
- Mulai ulang Chrome dan uji URL.
- Aktifkan kembali ekstensi satu per satu untuk mengisolasi yang bermasalah.
Di Firefox:
- Ketik
about:addonsdi bilah alamat. - Nonaktifkan semua ekstensi.
- Mulai ulang dan uji.
Jika kesalahan hilang dengan ekstensi dinonaktifkan, hapus atau perbarui ekstensi yang bermasalah.
6. Coba Browser atau Perangkat Berbeda
Kadang-kadang masalahnya sepenuhnya terisolasi pada konfigurasi, profil, atau data yang disimpan browser Anda saat ini. Pengujian dengan alternatif menghilangkan variabel spesifik browser dengan cepat.
Langkah-langkah yang harus diikuti:
- Buka URL yang sama di browser berbeda (misalnya, beralih dari Chrome ke Firefox atau Edge).
- Coba akses halaman dari perangkat berbeda (ponsel, tablet, atau komputer lain).
- Hubungkan melalui jaringan berbeda (misalnya, beralih dari Wi-Fi ke data seluler).
Jika halaman dimuat dengan benar di browser atau perangkat lain, masalahnya lokal untuk pengaturan asli Anda — tinjau kembali langkah 2 dan 5.
7. Periksa Log Server (Untuk Pemilik Situs dan Administrator)
Jika Anda mengelola situs web yang mengalami kesalahan 400, log server adalah alat diagnostik paling kuat Anda. Mereka mencatat detail tepat dari setiap permintaan dan penolakan, memungkinkan Anda menentukan penyebabnya dengan tepat.
Apa yang harus dicari di log:
- Baris permintaan spesifik yang memicu respons 400
- Header permintaan yang tidak terbentuk dengan baik atau terlalu besar
- Data cookie yang tidak valid dikirim
- Permintaan yang diblokir oleh firewall atau aturan keamanan
Lokasi log umum:
| Server | Jalur Log Default |
|---|---|
| Apache | /var/log/apache2/error.log atau /var/log/httpd/error_log |
| Nginx | /var/log/nginx/error.log |
| cPanel | Dapat diakses melalui Log Kesalahan di dasbor cPanel |
Jika Anda menggunakan CMS seperti WordPress, juga periksa log debug dengan mengaktifkan WP_DEBUG_LOG di wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);> Administrator yang mengelola beberapa situs akan mendapat manfaat dari VPS dengan cPanel, yang menyediakan antarmuka terpusat dan ramah pengguna untuk meninjau log kesalahan di semua domain yang dihosting.
8. Periksa dan Perbaiki Salah Konfigurasi Server
Salah konfigurasi di sisi server adalah sumber umum kesalahan 400 yang mempengaruhi semua pengunjung, bukan hanya pengguna individual. Jika log Anda menunjukkan pola kesalahan 400 di seluruh klien, lihat di sini terlebih dahulu.
Apache — Kesalahan .htaccess:
Kesalahan sintaks di .htaccess dapat menyebabkan Apache menolak permintaan. Validasi file Anda dengan:
apachectl configtestCari baris dengan direktif RewriteRule yang tidak terbentuk dengan baik, aturan mod_security yang tidak valid, atau logika pengalihan yang rusak.
Nginx — Kesalahan Konfigurasi:
Uji konfigurasi Nginx Anda sebelum memuat ulang:
nginx -tPeriksa blok server_name yang salah konfigurasi, direktif location yang tidak valid, atau aturan limit_req yang terlalu ketat.
Plugin Keamanan dan Aturan WAF:
Web Application Firewalls (WAF) dan plugin keamanan (seperti Wordfence atau Sucuri) dapat memblokir permintaan yang sah secara agresif jika aturan salah konfigurasi. Tinjau set aturan firewall Anda dan masukkan dalam daftar putih pola lalu lintas yang sah yang ditandai secara tidak benar.
> Untuk situs web lalu lintas tinggi yang memerlukan kontrol maksimal atas konfigurasi keamanan, Server Dedicated menyediakan sumber daya terisolasi dan akses tingkat root yang diperlukan untuk menyempurnakan setiap aspek lingkungan server Anda.
9. Verifikasi Validitas Sertifikat SSL
Sertifikat SSL yang kedaluwarsa atau salah konfigurasi kadang-kadang dapat menyebabkan kesalahan HTTP yang tidak terduga, termasuk respons 400, terutama ketika pengalihan HTTPS terlibat atau ketika sertifikat tidak cocok dengan domain yang diminta.
Periksa status sertifikat Anda:
openssl s_client -connect yourdomain.com:443 -servername yourdomain.comCari Verify return code: 0 (ok) di output. Kode apa pun yang lain menunjukkan masalah sertifikat.
> Jaga situs Anda tetap aman dan bebas kesalahan dengan Sertifikat SSL yang valid — penting untuk kepercayaan pengguna dan peringkat mesin pencari.
10. Hubungi Administrator Situs atau Dukungan Hosting
Jika Anda telah menghabiskan semua perbaikan di sisi klien dan kesalahan 400 terus berlanjut di beberapa browser, perangkat, dan jaringan, masalahnya hampir pasti di sisi server dan di luar kontrol Anda sebagai pengunjung.
Apa yang harus dilakukan:
- Gunakan formulir kontak situs web, email dukungan, atau live chat untuk melaporkan masalah.
- Sertakan URL yang tepat, waktu Anda mengalami kesalahan, dan teks pesan kesalahan apa pun.
- Jika
untuk semua layanan hosting