506

Variant Also Negotiates

Resmi
Uç nokta kendini müzakere eder

506 durum kodunun genel açıklaması

HTTP durum kodu 506 Variant Also Negotiates, sunucu şeffaf içerik anlaşması olarak adlandırılan bir yapılandırmada konuşlandırıldığında ortaya çıkan sunucu içindeki belirli bir sorunun göstergesidir. Bu tür içerik anlaşması, talep eden istemcinin gereksinimlerine (örneğin farklı diller, dosya biçimleri veya kodlamalar) bağlı olarak teslim edilebilecek bir kaynağın farklı sürümlerini yönetmek için kullanılır.

Özünde, 506 Variant Also Negotiates durum kodu, sunucuda sonsuz bir anlaşma döngüsüne yol açan bir yanlış yapılandırma olduğu anlamına gelir. Sunucu, istemcinin tercihlerine göre istenen kaynağın belirli bir sürümünü seçmek yerine, seçimin kendisi başka bir müzakereye atıfta bulunur. Sonuç, hiçbir varyantın teslim edilmemesidir, çünkü sunucu bir varyantın diğerine, onun da diğerine atıfta bulunduğu bir referans döngüsüne yakalanır ve bu böyle devam eder.

Basit bir örnek: Bir istemci belirli bir dilde bir web sayfası istiyor. Sunucu web sitesinin farklı dil sürümlerine sahiptir ve en uygun sürümü seçmeye çalışır. Ancak, sunucunun yapılandırması yanlışsa, en uygun sürümü seçmesi gereken süreç, kesin bir seçim yapmak yerine başka bir müzakere turuna başvurabilir. 506 Variant Also Negotiates durum kodu, istemciye sunucunun bu iç çatışmalar veya yanlış yapılandırmalar nedeniyle kaynağın uygun bir sürümünü sunamadığını bildirir.

Uygulamada, bu durum kodu nadiren görülür çünkü çok özel bir sunucu yapılandırması ve hata durumu varsayar. Sorunun çözülmesi, içerik anlaşmasının sonsuz bir döngüye girmeden doğru bir şekilde gerçekleştirilebilmesini sağlamak için sunucu yapılandırmasının gözden geçirilmesini ve düzeltilmesini gerektirir.

HTTP durum kodu 506'ün belirtimi

506 Variant Also Negotiates durum kodu, sunucunun dahili bir yapılandırma hatası olduğunu gösterir: seçilen varyant kaynağı, şeffaf içerik müzakeresine kendisi katılacak şekilde yapılandırılmıştır ve bu nedenle müzakere sürecinde uygun bir son nokta değildir.

Kaynak / Alıntı: 506 Variant Also Negotiates HTTP durum kodu RFC2295 bölümünün 8.1 kısmında belirtilmiştir.

PHP ile 506 durum kodu nasıl atılır?

Bir web sayfasında HTTP durum kodu 506'ü atmak için PHP işlevi http_response_code kullanılabilir. Sözdizimi aşağıdaki gibidir: http_response_code(506) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

506 HTTP Durum Kodunu Test Etme

HTTP durum kodunu (bu durumda 506 Variant Also Negotiates) ve istemci tarafındaki diğer bilgileri görüntüleyebilmek için geliştirme konsolu F12 ile açılmalıdır. Ardından "Ağ" sekmesine gidin. Artık sayfa açılabilir, web sitesi (örnek index.php) ağ sekmesinde görünür olmalıdır. Bu seçilmeli ve ardından Herder bölümü seçilmelidir. Kullanıcı daha sonra aşağıdaki sonucu görecektir:

Durum kodu 506 Variant Also Negotiates
Genel Bakış
URL: https://http-statuscode.com/errorCodeExample.php?code=506
Durum: 506 Variant Also Negotiates
Şunlar: Network
IP adresi: XX.XX.XX.XX
Durum kodu 506 Variant Also Negotiates

Durum kodu 506 için kendi hata sayfanızı nasıl oluşturursunuz?

Kendi 506 Variant Also Negotiates hata sayfanızı oluşturmak hem "Apache" hem de "NGINX" web sunucuları ile nispeten kolaydır.

Apache Webserver

"Apache" web sunucusu internetteki en yaygın web sunucularından biridir. "Apache" de kendi 506 Variant Also Negotiates hata sayfanızı oluşturmak için aşağıdaki dosyada aşağıdaki değişiklik yapılmalıdır.

File: .htaccess
ErrorDocument 506 /errors/506.html

NGINX Webserver

"Apache" web sunucusuna benzer şekilde "NGINX" de internette yaygın olarak kullanılmaktadır. "NGINX" de kendi 506 Variant Also Negotiates hata sayfanızı oluşturmak için aşağıdaki dosyada aşağıdaki değişiklik yapılmalıdır.

File: sites-enabled/default
error_page 506 /506.html;
location = /506.html {
    root /usr/share/nginx/html;
    internal;
}

506 durum kodunun tarayıcı uyumluluğu

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

Programlama dillerinde sabitler

http.StatusVariantAlsoNegotiates
Response::HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL
:variant_also_negotiates

HTTP durum kodu 506 hakkında eğlenceli memler

Yazar: Tony Brüser
Yazar: Tony Brüser

Tony Brüser, HTTP durum kodlarına meraklı hevesli bir web geliştiricisidir.

LinkedInGitHub