Penjelasan umum tentang kode status 506
Kode status HTTP 506 Variant Also Negotiates adalah indikator masalah spesifik dalam server yang terjadi ketika server digunakan dalam konfigurasi yang menggunakan apa yang disebut sebagai negosiasi konten transparan. Jenis negosiasi konten ini digunakan untuk mengelola berbagai versi sumber daya yang dapat dikirimkan tergantung pada kebutuhan klien yang meminta (misalnya bahasa, format file, atau penyandian yang berbeda).
Pada intinya, kode status 506 Variant Also Negotiates berarti bahwa ada kesalahan konfigurasi pada server yang mengarah pada perulangan negosiasi yang tak terbatas. Alih-alih server memilih versi tertentu dari sumber daya yang diminta berdasarkan preferensi klien, pemilihan itu sendiri mengacu pada negosiasi lain. Hasilnya adalah tidak ada varian yang dikirimkan karena server terperangkap dalam siklus referensi, di mana satu varian merujuk ke varian lain, yang pada gilirannya merujuk ke varian lain, dan seterusnya.
Contoh sederhana: Klien menginginkan halaman web dalam bahasa tertentu. Server memiliki versi bahasa yang berbeda dari situs web dan mencoba memilih versi yang paling sesuai. Namun, jika konfigurasi server salah, proses yang seharusnya memilih versi yang paling sesuai malah bisa merujuk ke putaran negosiasi lain dan bukannya membuat pilihan yang pasti. Kode status 506 Variant Also Negotiates memberi sinyal kepada klien bahwa server tidak dapat memberikan versi sumber daya yang sesuai karena konflik internal atau kesalahan konfigurasi ini.
Dalam praktiknya, kode status ini jarang terlihat karena mengasumsikan konfigurasi server yang sangat spesifik dan kondisi kesalahan. Untuk mengatasi masalah ini, diperlukan peninjauan dan koreksi konfigurasi server untuk memastikan bahwa negosiasi konten dapat dilakukan dengan benar tanpa memasuki loop yang tak terbatas.
Spesifikasi kode status HTTP 506
Sumber / Kutipan dari: Kode status HTTP 506 Variant Also Negotiates ditentukan oleh bagian 8.1 dari RFC2295.
Protokol HTTP
Bagaimana cara melempar kode status 506 dengan PHP?
Untuk melemparkan kode status HTTP 506 pada halaman web, fungsi PHP http_response_code dapat digunakan. Sintaksnya adalah sebagai berikut: http_response_code(506) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Menguji Kode Status HTTP 506
Untuk dapat menampilkan kode status HTTP (dalam hal ini 506 Variant Also Negotiates) dan informasi lain di sisi klien, konsol pengembangan harus dibuka dengan F12. Kemudian arahkan ke tab "Jaringan". Sekarang halaman dapat dibuka, situs web (contoh index.php) akan terlihat di tab jaringan. Ini harus dipilih dan kemudian bagian Herder harus dipilih. Pengguna kemudian akan melihat hasil berikut:
URL: https://http-statuscode.com/errorCodeExample.php?code=506
Status: 506 Variant Also Negotiates
Itu: Network
Alamat IP: XX.XX.XX.XX
Cara membuat halaman kesalahan Anda sendiri untuk kode status 506
Apache Webserver
Server web "Apache" adalah salah satu server web yang paling umum di Internet. Untuk membuat halaman kesalahan 506 Variant Also Negotiates Anda sendiri di "Apache", perubahan berikut ini harus dilakukan pada file berikut.
NGINX Webserver
Mirip dengan server web "Apache", "NGINX" juga banyak digunakan di Internet. Untuk membuat halaman kesalahan 506 Variant Also Negotiates Anda sendiri di "NGINX", perubahan berikut ini harus dilakukan pada file berikut.
location = /506.html {
root /usr/share/nginx/html;
internal;
}
Kompatibilitas browser dari kode status 506
Chrome | no data |
Edge | no data |
Firefox | no data |
Opera | no data |
Safari | no data |
Chrome Android | no data |
Firefox for Android | no data |
Opera Android | no data |
Safari on iOS | no data |
Internet | no data |
WebView Android | no data |
Konstanta dalam bahasa pemrograman
http.StatusVariantAlsoNegotiates
Response::HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL
:variant_also_negotiates