HTTP Başlık Kontrolü
Herhangi bir URL'nin HTTP başlıklarını sunucunun gönderdiği haliyle, sırayla ve tüm tekrarlarıyla kontrol edin; Mozilla HTTP Observatory'nin kendi testleriyle bir güvenlik notu ve nginx, Apache, IIS, Cloudflare, Vercel, Netlify veya Express için çözümüyle. Önbellek, çerezler ve sunucu ayrıntıları da dahil.
Yönlendirmeleri son sayfaya kadar izler ve o sayfayı notlandırırız. Her adımın başlıkları Yönlendirmeler altındadır.
HTTP başlıkları nedir?
HTTP başlıkları, sunucunun sayfanın kendisinden önce gönderdiği satırlardır: bir durum satırı, ardından satır başına bir name: value alanı, sonra boş bir satır ve gövde (RFC 9110). Adlar büyük küçük harfe duyarsızdır; değerler sunucuya aittir.
Yanıt başlıkları tarayıcıya içeriğin ne olduğunu, kopyayı ne kadar süre tutabileceğini, hangi çerezleri saklayacağını ve hangi güvenlik kurallarını uygulayacağını söyler. Bu araç onları gönderildiği gibi, sırayla ve tüm tekrarlarıyla gösterir ve her satırı işlevine göre renklendirir.
Bir web sitesinin HTTP başlıkları nasıl kontrol edilir?
Yukarıya URL'yi yazıp Başlıkları kontrol et düğmesini seçin: araç URL'yi sunucumuzdan ister, yönlendirmeleri son sayfaya kadar izler ve o sayfanın yanıt başlığını satır satır, yanında güvenlik notuyla gösterir. Yalnızca başlığı istemek için yöntem kutusunda HEAD seçin.
Ne yaptığını ve değerinin ne anlama geldiğini görmek için herhangi bir satırı seçin. Aşağıdaki görünümler bulguları ayırır: sunucu başına çözümle Güvenlik, Önbellek, Çerezler, Sunucu ve protokol ve Yönlendirmeler.
Başlık kontrolü: gönderildiği gibi yanıt
Özgün harf büyüklüğü ve sıra, tekrarlar korunur, HTTP/1.1 üzerinden okunur; uzun değerler katlanır, çerez değerleri asla görünmez. Cloudflare arkasındaki bir site Cloudflare ağı üzerinden okunur ve sonuç bunu belirtir.
Mozilla Observatory testleriyle güvenlik başlıklarını kontrol edin
Observatory kodundakiyle aynı 12 test ve puan, her iki tur puan sütununda hesaplanmış ve Mozilla'nın hosta ait kendi taramasına bir link.
Server başlığı kontrolü: yazılım, CDN ve protokol
Server ve X-Powered-By ile ele verdikleri sürümler, CDN ve önbellek durumu, TLS sürümü, HTTP/2 ve HTTP/3.
HSTS kontrolü ve preload hazırlığı
max-age, includeSubDomains ve preload bilgi olarak hstspreload.org kurallarına göre okunur: preload isteğe bağlıdır.

Not ve kararSon sayfa için Observatory notu ve puanı, en değerli düzeltmeler önce.Gönderildiği gibi bir başlık satırıHer satır sunucunun kendi harf büyüklüğü ve sırasıyla; kenardaki işaret o başlığın test sonucudur.Bonus turuBonuslar yalnızca tüm cezalardan sonra puan hâlâ 90 veya üzerindeyse sayılır: Observatory'nin iki turu.GörünümlerSunucu başına çözümle güvenlik, ardından önbellek, çerezler, sunucu ve protokol, ve yönlendirmeler.Her site hangi güvenlik başlıklarını göndermeli?
Dörtle başlayın: Content-Security-Policy, Strict-Transport-Security, çerçeve koruması (X-Frame-Options veya CSP frame-ancestors) ve X-Content-Type-Options: nosniff. Eksik olmaları Mozilla HTTP Observatory notunda en çok puan kaybettirir.
Referrer-Policy ve çapraz kaynak politikaları (COOP, COEP ve CORP), temeller doğru olduğunda bonus puan kazandırır. Permissions-Policy ayarlanmaya değer, ancak yalnızca Chromium tarayıcıları okur ve Observatory puanlamaz.
| Başlık | Durdurur | Eksik | İyi ayar | Çalıştığı yer |
|---|---|---|---|---|
| Content-Security-Policy | enjekte edilen betikler | −25 | +5 / +10 | |
| Strict-Transport-Security | http:// sürümüne düşürme | −20 | +5 preload'da | |
| X-Frame-Options · frame-ancestors | gizli çerçevede clickjacking | −20 | +5 | |
| X-Content-Type-Options | yanlış türde çalışan dosyalar | −5 | 0 | |
| Referrer-Policy | tam URL'lerin diğer sitelere sızması | 0 | +5 | |
| Cross-Origin-Opener-Policy | diğer pencerelerin içeri uzanması | 0 | +10 | |
| Cross-Origin-Embedder-Policy | izin vermeyenin yüklenmesi | 0 | +10 | |
| Cross-Origin-Resource-Policy | dosyalarınızın diğer sitelerce gömülmesi | 0 | +10 | |
| Permissions-Policy | kamera, mikrofon, konum kullanan gömmeler | — | puanlanmaz | yalnızca |
Güvenlik notu nasıl hesaplanır?
Mozilla HTTP Observatory'nin yöntemini test test izleriz: 100'den başlar, her cezayı düşer ve yalnızca sonuç hâlâ 90 veya üzerindeyse bonusları ekleriz. Puan sonra F'den A+'ya bir nota dönüşür (Observatory puanlama belgeleri).
Bu ikinci tur insanları şaşırtır: tek bir pahalı hatası olan site bonuslarının hiçbirini tutamaz. 2026'da COOP ve COEP eklenmesiyle Observatory'nin kodu 165 puana kadar izin verir, belgeleri ise 24 Ekim 2026'da hâlâ 145 diyordu; biz kodu izleriz. Her sonuç Mozilla'nın hosta ait kendi taramasına link verir, böylece karşılaştırabilirsiniz.
github.comA+
- Başlangıç100
- Harici betiklerde SRI yok−595
- 90 veya üzeri: bonus turu sayılır
- Çerezler: Secure, HttpOnly, SameSite+5
- Referrer-Policy+5
- HSTS preload'da+5
- Çerçeveleme CSP ile+5
- Puan115
www.mozilla.orgB+
- Başlangıç100
- CSP 'unsafe-inline' izni veriyor−2080
- 90 altı: bonus turu atlanır
- COOP same-origin+10
- Referrer-Policy+5
- Çerçeveleme CSP ile+5
- Puan80
HSTS nedir ve preload yapılmalı mı?
Strict-Transport-Security, tarayıcılara bir host için max-age saniye boyunca yalnızca https:// kullanmalarını söyler ve includeSubDomains bunu her alt alan adına yayar (RFC 6797). Tarayıcılar düz http:// üzerinde onu yok sayar ve yalnızca ilk böyle başlık sayılır. Observatory eksikse 20 puan, max-age altı aydan kısaysa 10 puan düşer.
Preload isteğe bağlıdır: hstspreload.org artık HSTS'nin önerildiğini ama preload'un önerilmediğini söyler, çünkü Chrome ve Safari gezinmeleri zaten HTTPS'ye yükseltir ve listeden çıkmak aylar sürer. Yine de başvurmak için en az bir yıllık max-age, includeSubDomains, preload ve her alt alan adında HTTPS gerekir; önce max-age'i adım adım artırın.
github.compreload listesinde
- Geçerli sertifika
- önce aynı hostta http:// adresinden https:// adresinehttp://github.com → https://github.com/
- www da HTTPS üzerinde
- 31536000 veya daha uzun max-agemax-age=31536000
- includeSubDomains
- preload
- https:// yönlendirmesinde de HSTS
mozilla.orglistede değil
- Geçerli sertifika
- önce aynı hostta http:// adresinden https:// adresine302 → https://mozilla.org:443/
- www da HTTPS üzerinde
- 31536000 veya daha uzun max-agemax-age=60
- includeSubDomains
- preload · gönderilmedi
- https:// yönlendirmesinde de HSTS
hstspreload.org'un önerdiği gibi max-age artırma
- 3005 dk. · test için
- 6048007 gün
- 259200030 gün
- 31536000365 gün · preload için asgari
Hiçbir sonuç bir hata değildir: hstspreload.org preload'un çoğu site için önerilmediğini söyler ve preload'suz HSTS ilk ziyaretten sonra her ziyaretçiyi korur.
Content-Security-Policy ne yapar?
Content-Security-Policy, bir sayfanın betikleri, stilleri, görselleri ve çerçeveleri nereden yükleyebileceğini listeler; böylece bir saldırganın başka bir yerden enjekte ettiği betik çalışmaz. frame-ancestors yönergesi ayrıca sayfayı kimin çerçeveleyebileceğini söyler ve X-Frame-Options'ı geçersiz kılar (CSP Level 3).
script-src içindeki 'unsafe-inline' bu korumanın çoğunu geri alır, bu yüzden Observatory bunun için 20 puan düşer; bunun yerine nonce veya hash kullanın (listede biri varsa tarayıcılar 'unsafe-inline' değerini yok sayar). Content-Security-Policy-Report-Only başlığı hiçbir şeyi engellemez, yalnızca rapor eder; bu da yeni bir politikayı önce denemenin güvenli yoludur.
github.com
default-srcaşağıda listelenmeyen her şey'none'base-urisayfanın <base href> değeri'self'script-srcbetiklerin nereden yüklenebileceğigithub.githubassets.com 'sha256-6AKuI+cDd1MoUL1u4eqrA9PXmnPAkOB4h7421hPUUm0='style-srcstil sayfaları'unsafe-inline' github.githubassets.comimg-srcgörseller'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com …frame-ancestorsbu sayfayı kimin çerçeveleyebileceği'none'form-actionformların nereye gönderebileceği'self' github.com gist.github.com copilot-workspace.githubnext.com …script-src www.mozilla.org üzerinde'self' 'unsafe-eval' 'unsafe-inline' *.google-analytics.com *.googletagmanager.com google-analytics.com …default-src 'none' ile başlar ve her kaynağa adıyla izin verir. Listede bir nonce veya hash varsa tarayıcılar 'unsafe-inline' değerini yok sayar; Observatory de o zaman saymaz.Cache-Control açıklaması: bir kopya ne kadar süre kullanılabilir?
max-age kaç saniye diyorsa o kadar: Cache-Control, tarayıcılara ve CDN'lere bir yanıtı sunucuya tekrar sormadan ne kadar süre kullanabileceklerini söyler; s-maxage ise CDN gibi paylaşımlı önbellekler için ayrı bir ömür belirler (RFC 9111).
no-cache “önbelleğe alma” demek değildir: sakla ama her kullanımdan önce sunucuyla kontrol et demektir; no-store ise onu her önbellekten uzak tutar. Age başlığı bir CDN kopyasının ne kadar eski olduğunu söyler ve hiç Cache-Control yoksa tarayıcı Last-Modified değerinden bu yana geçen sürenin yaklaşık %10'u kadar bir ömür tahmin edebilir.
Cache-Control: s-maxage=86400, must-revalidate, max-age=3600
Paylaşımlı önbellekler (CDN)s-maxage=86400 · 24 sa.21 sa. 39 dk. kaldı
Tarayıcılarmax-age=3600 · 1 sa.bayat
| no-store | hiçbir önbelleğe asla yazma |
|---|---|
| no-cache | sakla ama her kullanımdan önce sunucuya sor |
| max-age=N | N saniye taze (Expires o zaman yok sayılır) |
| s-maxage=N | aynısı, yalnızca paylaşımlı önbellekler için |
| private | yalnızca tarayıcılar, asla CDN değil |
| immutable | yenilemede yeniden doğrulama (Chrome yok sayar) |
Hangi HTTP başlıkları kullanımdan kalktı?
X-XSS-Protection, Expect-CT, Public-Key-Pins, Feature-Policy ve P3P güncel tarayıcılarda artık yararlı bir şey yapmaz. X-XSS-Protection 0 olmalı veya hiç olmamalıdır, çünkü eski filtrenin kendisi açıklar açabiliyordu (OWASP).
Server içindeki sürüm numaraları ve herhangi bir X-Powered-By başlığı kullanımdan kalkmış değildir, ancak RFC 9110 ve OWASP ikisini de önermez: saldırganlara hangi bilinen hataları deneyeceklerini söylerler (RFC 9110 §10.2.4).
X-XSS-Protection: 1; mode=block0 gönderin veya hiçbir şey
Chrome 78 ve Safari 15.4 XSS filtrelerini kaldırdı; Firefox'ta hiç olmadı. github.com ve www.google.com 0 gönderir.
Expect-CTkaldırın
Chrome 107'den beri kullanımdan kalktı: Certificate Transparency zaten uygulanıyor.
ChromePublic-Key-Pinskaldırın
Chrome 72'de kaldırıldı; hiçbir güncel tarayıcı desteklemiyor.
ChromeFeature-PolicyPermissions-Policy kullanın
Yeniden adlandırıldı: eski başlık kullanımdan kalktı.
ChromeP3Pkaldırın
Hiçbir güncel tarayıcının okumadığı ölü bir gizlilik standardı; www.youtube.com hâlâ bir tane gönderiyor.
YouTubeServer: Apache/2.4.62 (Ubuntu)
X-Powered-By: PHP/8.3.12sürümü çıkarın
Uydurma bir örnek: RFC 9110 ve OWASP bu ayrıntının yalnızca saldırganlara yardım ettiğini söyler.
ApacheChrome'da veya curl ile HTTP başlıkları nasıl görülür?
Chrome'da DevTools'u (F12) açın, Ağ sekmesini seçin, yenileyin, ilk satıra tıklayın ve Başlıklar sekmesini açın. curl ile curl -sI https://example.com yanıt başlığını yazdırır; sunucunun kendi yazımını görmek için --http1.1 ekleyin.
HTTP/2 ve HTTP/3 üzerinde her başlık adı kural gereği küçük harftir (RFC 9113 §8.2.1), bu yüzden sunucu Strict-Transport-Security yazmış olsa da DevTools strict-transport-security gösterir. Bu araç HTTP/1.1 üzerinden okur ve başlığı gönderildiği gibi korur.
$ curl -sI --http1.1 https://github.com HTTP/1.1 200 OK Date: Sat, 24 Oct 2026 08:19:43 GMT Content-Type: text/html; charset=utf-8 Vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Reques… content-language: en-US ETag: W/"6995be88733b84f6fb0c35e84ad1df53" Cache-Control: max-age=0, private, must-revalidate Strict-Transport-Security: max-age=31536000; includeSubdomains; preload X-Frame-Options: deny X-Content-Type-Options: nosniff …
DevTools › Ağ › belge satırı › Başlıklar. Satırları alındığı gibi görmek için İşlenmemiş'ı işaretleyin. HTTP/2 üzerinde her ad küçük harfle gelir; --http1.1 sunucunun kendi yazımını gösterir.
HTTP başlık kontrolü: sık sorulan sorular
İyi bir güvenlik başlığı notu nedir?
Notum neden securityheaders.com'dan farklı?
Güvenlik başlıkları sitemi bozabilir mi?
HTTP başlıklarını bir HEAD isteğiyle kontrol edebilir miyim?
X-XSS-Protection hâlâ gerekli mi?
X-Content-Type-Options: nosniff ne yapar?
Başlık adları Chrome DevTools'ta neden küçük harf?
nginx veya Cloudflare'de güvenlik başlıkları nasıl eklenir?
Server başlığı nedir ve gizlemeli miyim?
Başlık kontrolü başlıkları veya çerezleri saklar mı?
İlgili web sitesi araçları
Yönlendirme Kontrolü
SEO için URL yönlendirmelerini, yönlendirme zincirlerini ve HTTP durum kodlarını kontrol edin
SSL Sertifika Kontrolü
SSL sertifika geçerliliğini ve güvenlik ayrıntılarını doğrulayın
Site Erişim Kontrolü
Site herkes için mi çöktü, yoksa sadece sizin için mi? Herhangi bir siteyi 11 konumdan ve kendi bağlantınızdan, canlı ekran görüntüsüyle kontrol edin
CMS Tespit Aracı
Bir sitenin kullandığı CMS, tema, eklenti ve teknolojiler, her birinin kanıtıyla
Bağlantı Analizi
dofollow/nofollow algılama ve HTTP durum kontrolü ile sayfa bağlantılarını analiz edin
Hosting Sorgulama
Herhangi bir sitenin nerede barındırıldığını bulun: hosting, CDN, CMS, e-posta sağlayıcısı, kayıt şirketi ve SSL sağlayıcısı
DNS Sorgulama
Tüm DNS kayıtları alan adının kendi ad sunucularından, Google ve Cloudflare önbelleğiyle yan yana
Alt Alan Adı Bulucu
Herhangi bir alan adının tüm alt alan adlarını keşfedin