HTTP Header Kontrolü

Herkese açık bir URL'nin yanıt başlıklarını, HTTP durumunu ve yönlendirme zincirini inceleyin. Değerleri ve dikkat gerektiren bildirimleri tek raporda görün.

HTTP başlık kontrolü, bir URL için web sunucusunun döndürdüğü yanıt bilgilerini gösterir. Screpy, herkese açık bir GET isteği yapar, desteklenen yönlendirmeleri takip eder ve sayfa gövdesini indirmeden son yanıtın başlık adlarını ve değerlerini listeler. Raporu yönlendirmeyi araştırmak, yayınlama sonrası bir başlık değişikliğini kontrol etmek veya beklenmeyen bir indeksleme talimatını bulmak için kullanın.

Önce aldığınız yanıtı okuyun, ardından kaynağın döndürmesi gereken yanıtla karşılaştırın. Başarıyla tamamlanan kontrol, sunucu hatası veya uygun olmayan bir politika gösterebilir. Yeşil sonuç; güvenliği, önbellek performansını veya arama motorunda indekslenmeyi onaylamaz.

Tam URL'yi ve yanıt zincirini kontrol edin

İlgili yol ve sorguyla birlikte tam bir HTTP veya HTTPS adresi girin. Aynı alan adındaki ana sayfa, PDF ve ürün sayfası farklı başlıklar döndürebilir. Kurgusal bir ürün sayfasını incelemek istiyorsanız https://example.com/products/blue-mug/, sitenin kök adresinden daha anlamlı bir girdidir.

Başlık tablosundan önce yanıt zincirini okuyun. Yönlendirme protokolü, sunucu adını veya yolu değiştirebilir. Tablo, her adımın bütün başlıklarını değil, son yanıtın başlıklarını içerir. Zincirde son yanıt da yer aldığından gösterilen adım sayısı yönlendirme sayısına eşit olmayabilir.

Son URL'nin kontrol etmek istediğiniz kaynak olduğunu doğrulayın. Giriş sayfası, hata sayfası veya farklı bir sunucu adı, beklemediğiniz değerleri açıklayabilir. Son başlık listesinden ziyade yönlendirme yoluna odaklanmanız gerekiyorsa Redirect Checker kullanın.

Örnek bir HTTP yanıt başlığını okuyun

Bu kurgusal yanıt, farklı alanların farklı sorulara nasıl cevap verdiğini gösterir. Gerçek tarama sonucu veya her sayfaya kopyalanacak bir yapılandırma değildir.

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
X-Robots-Tag: noindex

200, başarılı yanıtı belirtir. Content-Type, UTF-8 kodlamalı HTML bildirir. Cache-Control önbellek talimatlarını, X-Robots-Tag ise indeksleme talimatını belirtir. Dolayısıyla çalışan bir yanıt noindex içerebilir: HTTP başarısı, sayfanın arama sonuçlarında görünmesinin amaçlandığı anlamına gelmez.

Tablo başlık adlarını küçük harfle gösterir; büyük ve küçük harf farkı bunları ayrı alanlara dönüştürmez. MDN başlık başvurusu, istek ve yanıt alanlarını ayırır. Bu araç yanıtı gösterir; sizin tarayıcı oturumunuzdaki çerezleri, tercihleri veya kimlik doğrulama bilgilerini dökmez.

Önbelleği ve indekslemeyi ayrı kararlar olarak inceleyin

Belirli bir sorunu araştırırken tabloyu başlık adına göre filtreleyin. Önce kaynağın ihtiyacını belirleyin. Sık değişen HTML, sürümlenmiş bir dosya ve bilerek arama dışında bırakılan bir belge aynı politikayı kullanmak zorunda değildir.

Başlık İncelemede sorulacak soru
content-type Bildirilen biçim beklediğiniz kaynakla uyuşuyor mu, yoksa yönlendirme başka yanıta mı ulaştı?
cache-control Politika, kaynağın güncellenme ve gizlilik gereksinimlerine uygun mu?
etag veya last-modified Koşullu istekler için doğrulayıcı var mı? Bulunması, yeniden doğrulamanın çalıştığını test etmez.
vary Yanıt, önbellek seçimi için hangi istek başlığı farklılıklarını bildiriyor?
x-robots-tag Gözlemlenen noindex bu URL için amaçlanıyor mu?

no-cache, “hiç saklama” demek değildir. Saklamaya izin verir ancak yeniden kullanmadan önce doğrulama ister. no-store ise önbelleklere yanıtı saklamama talimatı verir. MDN Cache-Control açıklaması farkı ayrıntılandırır. Bu kontrol, önbellekten sunulma oranını ölçmez ve önceden saklanan kopyaları temizlemez.

İndeksleme talimatı, içeriğin güncelliğinden ayrı bir karardır. İndekslenmesi gereken sayfa beklenmedik şekilde noindex döndürüyorsa değiştirmeden önce sorumlu uygulamayı, sunucuyu veya yanıt kuralını bulun. HTML talimatlarını da incelemek için Noindex Checker kullanın. Google'ın noindex belgesi talimatı açıklar; burada gözlemlenmesi Google'ın güncel indeks durumunu kanıtlamaz.

Güvenlik başlıklarıyla ilgili bulguları anlayın

Screpy, belirli bildirimleri incelemeniz için öne çıkarır. Bulguyu, güvenlik açığı raporu veya bilmediğiniz bir politikayı canlıya kopyalama önerisi olarak değil, bir yapılandırma sorusu olarak değerlendirin.

Bulgu Kontrolün gösterdiği ve göstermediği
HSTS incelemesi HTTPS yanıtında pozitif max-age arar. HTTPS geçişinizin tamamını veya sertifika yapılandırmanızı doğrulamaz.
Eksik CSP HTML olarak bildirilen yanıtta Content-Security-Policy arar. Başlığın bulunması, yönergelerinin uygulamanızı koruduğunu garanti etmez.
Çerçeveleme incelemesi CSP'de frame-ancestors veya tanınan X-Frame-Options değeri arar. Sayfanın başka yere gömülmesine izin verilip verilmeyeceği ihtiyacınıza bağlıdır.
MIME türü tahmini incelemesi X-Content-Type-Options içinde nosniff bildirimi arar. Gerçek dosya içeriğini veya bütün tarayıcıların davranışını doğrulamaz.

Bilgilendirme veya eksik politika bulgusu, güvenlik açığının kanıtı değildir. Başlığın bulunması da politikayı etkili hale getirmez. MDN CSP belgesi, uygulanan politikaları, ihlalleri bildiren ancak kısıtlamaları uygulamayan Content-Security-Policy-Report-Only başlığından ayırır. İkincisini görmek, uygulanan bir politikanın bulunduğunu kanıtlamaz.

Politika değişikliklerini uygulamanın gerçek kaynak ve gömülme gereksinimleriyle değerlendirin. Araç güvenlik puanı vermez, sertifika incelemez ve her yönergeyi doğrulamaz. HTML içindeki güvensiz kaynak adreslerini ayrıca kontrol etmek için Mixed Content Checker kullanın.

Tekrarlanan ve gizlenen başlık değerlerini yorumlayın

Başlık sayısı, normalleştirilmiş farklı adları ifade eder. Görülme sayısı sütunu bir adın kaç kez geçtiğini gösterir; normal tekrarlanan değerler görünür kalır. Birden fazla görülmesi otomatik olarak hata değildir. İlgili alanın bu yapıya izin verip vermediğini ve birleşik politikanın amaçlanıp amaçlanmadığını değerlendirin.

Hassas çerez, kimlik doğrulama ve tanınan gizli değerler gizlenir veya maskelenir. Gizlenen değer, eksik başlık anlamına gelmez; bulunması da çerez güvenliği değerlendirmesi değildir. Paylaşılacak rapora gizlenmiş değerleri geri eklemeyin. Gizli ayrıntıları yalnızca uygun özel hata ayıklama ortamında inceleyin.

Arama kutusunun bütün değerlerde arama yapmasını beklemek yerine cache-control gibi bir ada göre filtreleyin. Yanıtları karşılaştırırken raporu kontrol edilen URL ve zaman bilgisiyle saklayın. Tek bir başlığın varlığını veya yokluğunu; son durum, kaynak türü ve kapsam bildirimiyle birlikte yorumlayın.

Kısmi kontrolleri HTTP hatalarından ayırın

Sunucunun hata yanıtı vermesi ile kontrolün sunucuya ulaşamaması farklı sonuçlardır. Eksik satırları yorumlamadan önce kapsam mesajını okuyun.

Sonuç Anlamı ve sonraki adım
Başlıklarıyla birlikte son 404 veya 500 Yanıt gözlemlenmiştir. URL'yi doğrulayın ve kaynak veya sunucu hatasını araştırın; bağlantı başarısını sayfa başarısıyla karıştırmayın.
Kısmi yanıt zinciri Bazı adımlar görülmüştür ancak son yanıt kontrol edilememiştir. Son başlıklar kullanılamaz; eksik oldukları doğrulanmış değildir.
Zaman aşımı veya erişilemeyen kaynak İstenen yanıt alınamamıştır. Yeniden denemeden önce herkese açık erişimi, adresi ve yönlendirmeyi kontrol edin.

Araç, sınırlı sayıda yönlendirme izler ve sınırlı süre bekler. Döngüler, erişilemeyen yönlendirme hedefleri veya desteklenen sınırları aşan yanıtlar kontrolü eksik bırakabilir. Bu durumda boş son başlık listesini eksik güvenlik başlıkları listesi gibi yorumlamayın.

Özel ağ adresleri, oturum gerektiren sayfalar ve tarayıcı çerezlerinizi isteyen istekler formun kapsamı dışındadır. Erişim engeli de Googlebot'un veya gerçek başka bir ziyaretçinin aldığı yanıtı kanıtlamaz.

Yayınlama sonrası başlıkları karşılaştırın

Değişiklikten önce tam URL'yi, son yanıtı, kontrol zamanını ve değişmesini beklediğiniz alanı kaydedin. Başlangıç durumunu saklamak için raporu dışa aktarın. İstenen yapılandırmayı yayınladıktan sonra aynı URL'yi kontrol edin ve yalnızca başlık veya uyarı sayısını değil, ilgili değerleri karşılaştırın. Kural başka kaynak türlerine de uygulanacaksa bunlardan birini de kontrol edin.

Tarayıcınız farklı sonuç gösteriyorsa Ağ panelini açın, sayfayı yeniden yükleyin ve ilgili isteği inceleyin. Yönlendirme sonrasındaki URL'yi, yöntemi ve oturum durumunu karşılaştırın. Önbellekteki veya kişiselleştirilmiş tarayıcı yanıtı, farklı konumdan yapılan herkese açık istekle aynı olmayabilir. Bu form kullanıcı çerezlerinizi göndermez ve özel kimlik doğrulama başlığı eklemenizi sağlamaz.

Diğer aracın GET yerine HEAD kullanıp kullanmadığını da kontrol edin. RFC 9110, HEAD yanıtının gövde içermediğini ve içerik üretilirken belirlenen bazı alanları atlayabileceğini açıklar. Screpy GET kullanır, ancak gövdeyi indirmeden durur. Yöntemi ve istek koşullarını eşleştirmek farkı araştırmanıza yardımcı olur; her sunucu yanıtını aynı hale getirmez.

HTTP başlıkları hakkında sorular

Herkese açık bir URL'nin yanıt başlıklarını, HTTP durumunu ve yönlendirme zincirini inceleyin. Değerleri ve dikkat gerektiren bildirimleri tek raporda görün.

Araç HEAD mi GET mi kullanıyor?

GET kullanır ve yanıt başlıklarını okuduktan sonra durur. Yanıt gövdesi indirilmez. Bazı sunucular HEAD için farklı başlıklar döndürdüğünden karşılaştırırken istek yöntemini dikkate alın.

Sonuç neden tarayıcımdan farklı olabilir?

Tam son URL'yi, istek yöntemini, çerezleri, oturum durumunu ve önbellek koşullarını karşılaştırın. Yanıtlar isteğe ve konuma göre değişebilir. Araç, tarayıcınızın çerezleri veya özel kimlik doğrulama olmadan herkese açık GET isteği yapar.

Yönlendirmeden sonra hangi başlıklar gösteriliyor?

Tablo son yanıtın başlıklarını listeler. Yanıt zinciri, son yanıt dahil gözlemlenen URL ve durum adımlarını gösterir; her adımın bütün başlıklarını içeren bir tablo değildir.

Özel veya oturum gerektiren bir sayfayı kontrol edebilir miyim?

Hayır. Araç, kullanıcı çerezleri veya özel kimlik doğrulama başlıkları olmadan herkese açık HTTP ve HTTPS URL'lerini kontrol eder. Kısmi bir zincir son yanıtın başlıklarını doğrulamaz.

Bazı başlık değerleri neden gizleniyor?

Hassas çerez, kimlik doğrulama ve tanınan gizli değerler maskelenir. Yinelenen normal başlık değerleri, görülme sayılarıyla birlikte görünür kalır.

Tekrarlanan yanıt başlıkları her zaman hata mı?

Hayır. Görülme sayısı, normalleştirilmiş bir başlık adının tekrarlarını gösterir. Tekrarın geçerliliği alana ve değerlere bağlıdır. Her tekrarı hata saymak yerine amaçlanan birleşik politikayı inceleyin.

Eksik güvenlik başlıkları güvenlik açığı kanıtı mı?

Hayır. Rapor, seçili eksik bildirimleri incelemeniz için gösterir. Her politikayı doğrulamaz, sertifikaları incelemez veya kapsamlı bir güvenlik denetimi sunmaz.

Cache-Control no-cache, yanıtın saklanamayacağı anlamına mı gelir?

Hayır. Saklamaya izin verir ancak yeniden kullanımdan önce doğrulama ister. No-store, önbelleklere yanıtı saklamama talimatı verir. Bu kontrol bildirimi gözlemler; önbellekten sunulmayı ölçmez veya saklanan kopyaları temizlemez.