Bağlantı kontrolünde 405: HEAD ve GET karşılaştırması
405 yanıtı sayfanın kaybolduğunu kanıtlamaz. HTTP yöntemini ve yanıt koşullarını kaydedin, ardından hedefi WikiURL ile ayrıca kontrol edin.

Yalnızca sayıya bakarak bağlantıyı bozuk saymayın
Tarayıcınız bir sayfayı açarken kontrol aracı 405 döndürebilir. Bu fark araştırma gerektirir; bağlantıyı hemen silmek için yeterli değildir. Alınan yanıta göre, istenen yöntem bu kaynak için desteklenmemektedir. Bu sonuç içeriğin var olduğunu, herkese açık olduğunu veya her ziyaretçinin erişebildiğini doğrulamaz. Tam adresi koruyun ve sonucu hangi aracın ürettiğini yazın; böylece daha sonra ilk gözleme geri dönebilirsiniz.
Stack Overflow’daki bir soruda, kontrolün GET yerine HEAD kullanması 405 hatalarına yol açmaktadır. Reddit’teki başka bir soru, bağlantıları programla denetlerken yanlış alarmlar alınmasını anlatır. Bunlar insanların bildirdiği sorunlardır; sizin olayınızın nedenini kanıtlamaz. Bu süreç önce istekleri ve içeriği karşılaştırır, ardından bağlantıda mı, denetleyicide mi yoksa site yapılandırmasında mı düzeltme gerektiğine karar vermeyi sağlar.
HEAD ve GET arasındaki fark
GET, kaynağın bir temsilini ister; HEAD ise GET ile ilgili üst verileri, o yanıtın gövdesi olmadan ister. MDN bu ayrımı açıklar. Yalnızca başlık istemek aktarımı azaltabilir, ancak sayfayı okumaz ve beklenen belgenin bulunduğunu doğrulamaz. Bir uygulamanın veya aradaki sistemin iki yöntemi de doğru işleyeceğini garanti etmez. Bir istek reddedilirse kullanılan yöntemi kaydedin; bunu aracın adına bakarak varsaymayın.
RFC 9110, 405 yanıtında kaynağın o anda desteklediği yöntemleri listeleyen Allow başlığı bulunmasını gerektirir. Araç gösteriyorsa başlığı inceleyin. Yoksa eksikliğini kaydedin; değer uydurmayın ve bütün yöntemlere izin vermenin çözüm olduğunu düşünmeyin. Örnek yanıt açıklama amaçlıdır, gerçek bir siteden alınmamıştır. Allow bulunması da gereken yöntemi ve kullanıcının ihtiyaç duyduğu sonucu sınama zorunluluğunu ortadan kaldırmaz.
HTTP/1.1 405 Method Not Allowed
Allow: GETYorumlayabileceğiniz istekleri karşılaştırın
Siteyi yönetiyor ve terminal kullanmayı biliyorsanız, aynı herkese açık okuma adresinde HEAD ve GET karşılaştırın. Komutlar başlıkları gösterir; ikincisi gövdeyi aldıktan sonra atar, dolayısıyla veri indirebilir. example.invalid yerine kontrol etmeye yetkili olduğunuz sayfayı yazın. Bu alan adı hayalidir, kullanılabilir bir test hizmeti değildir. Satın alma, silme veya oturum kapatma işlemlerini denemeyin; açıkça içerik okumaya yarayan bir sayfa seçin.
URL’yi ve denetleyebildiğiniz koşulları aynı tutun. Saat, yöntem, durum ve varsa yönlendirmeyi yazın. Komutlar yönlendirmeleri izlemez: önce hedefi inceleyin ve orada tekrarlamanın uygun olup olmadığına karar verin. Kimlik bilgisi eklemeyin, özel çerezleri herkese açık araçlara kopyalamayın. Oturum açılmış tarayıcı ile başka makineden gelen anonim istek eşdeğer karşılaştırma değildir. Yöntemi suçlamadan önce bu farkı da kayıt altına alın.
curl --head --max-time 20 "https://example.invalid/guide"
curl --silent --show-error --max-time 20 --dump-header - --output /dev/null "https://example.invalid/guide"Sonucu acele hüküm vermeden değerlendirin
Karşılaştırılabilir koşullarda HEAD 405, GET 200 alırsa, bu iki isteğin farklı yanıt aldığını söyleyebilirsiniz. Yine de sayfayı açıp içeriğini kontrol etmeniz gerekir. GET de 405 alıyorsa yalnızca HEAD’e özgü sorun kanıtlanmamıştır. GET 404 döndürüyorsa önceki HEAD kontrolü istenen sayfanın varlığını kanıtlamamıştır. Her gözlemi varsayımınızdan ayırın; başka biri inceleme yaparken hangi sonucun gerçekten görüldüğünü anlayabilsin.
Hata mesajını kaldırmak için bir formu POST’tan GET’e çevirmeyin. Bu, işleyişini değiştirebilir ve verileri adreste açığa çıkarabilir. Kolaylık için güvenlik kontrollerini kapatmayın veya yazma yöntemlerini açmayın. Kendi sitenizde sonuçları yolları ve sunucu kurallarını inceleyen kişiye iletin. Başkasının sitesinde uygun bir açık bağlantı isteyin veya hassas bilgi paylaşmadan sorunu bildirin; henüz incelenmemiş bir ayarı kesin neden olarak göstermeyin.
WikiURL kontrolünü ekleyin
Tam açık adresi WikiURL URL denetleyicisine yapıştırın; HTTP durumunu ve tespit edilen son adresi saklayın. Bu, hizmetin sunucusundan yapılan ek bir gözlemdir. Tarayıcınızı, oturumunuzu veya önceki komutları aynen tekrarladığını varsaymayın. Arayüzde HEAD ve GET arasında elle seçim yoktur; göstermediği bir yöntem karşılaştırmasını ona atfetmeyin ve tek bir sonucu iki yöntemin karşılaştırıldığı bir deneymiş gibi sunmayın.
Ardından gerçek hedefi tarayıcıda açın ve hedef kitlenin beklenen sayfaya ulaştığını doğrulayın. Denetleyici ile tarayıcı farklıysa iki sonucu ve koşullarını koruyun. 200, içerik veya güvenlik sertifikası değildir; tek başına 405 bağlantının kaldırılmasına karar verdirmez. Amaç belirli bileşeni düzeltmek için yararlı kanıt toplamaktır; kısa bir etiketi, erişim koşullarını dikkate almayan kapsamlı bir teşhise çevirmek değildir.
Paylaşmadan önce doğrulanabilir bir karar saklayın
Kısa bir kayıt hazırlayın: URL, tarih, araç, bilinen veya gözlenmeyen yöntem, durum, son hedef ve kontrol edilmiş içerik. Yapılmayan testleri beklemede olarak işaretleyin. Gerekli başlıkları token, çerez veya kişisel veri olmadan saklayın. Başka bir inceleyiciye bu özeti ve beklenen davranışı verin; gözlemlerin henüz desteklemediği kesin bir sonuç sunmayın. Böylece kayıt bağımsız değerlendirmeye elverişli kalır.
Somut bir düzeltmeden sonra ölçülü bir kontrolü tekrarlayın ve adresi kısaltmadan ya da WikiURL ile QR üretmeden önce içeriği doğrulayın. Bu biçimler paylaşımı kolaylaştırır, fakat sunucunun desteklediği yöntemi değiştirmez veya kaynağı onarmaz. Referans bağlantısını yayımlanan dosyayla birlikte tutun. Böylece istemci farkı, reddedilen yöntem ve yanlış hedefi ayırt edebilir, tek bir yanıta dayanarak geçerli bir adresi bağlamını incelemeden ortadan kaldırmazsınız.