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.

Sunucumuzdan tek istek, ham başlık sırayla saklanır · Mozilla HTTP Observatory'nin yayımlanmış testleri (algoritma 6) · çerez değerleri asla gösterilmez ve saklanmaz

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 yanıtın yapısıgithub.com · kayıt tarihi 24 Ekim 2026
durum satırıHTTP/1.1200OK
alan satırlarıStrict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: deny
Cache-Control: max-age=0, private, must-revalidate
Content-Type: text/html; charset=utf-8
Set-Cookie: _gh_sess=‹344 karakter›; path=/; HttpOnly; secure; SameSite=Lax
Server: github.com
… 14 satır daha
gövde<!DOCTYPE html><html lang="en" …
Güvenliktarayıcının uygulaması gerekenler
Önbellekbir kopyanın ne kadar süre kullanılabileceği
Çerezlertarayıcının sakladıkları
Sunucu ve edgekimin, hangi CDN üzerinden yanıt verdiği

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.

github.com HTTP başlık kontrolü: gönderildiği gibi yanıt başlıkları ve 115 puanlık A+ güvenlik notugithub.com HTTP başlık kontrolü: gönderildiği gibi yanıt başlıkları ve 115 puanlık A+ güvenlik notuNot 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.
github.com başlık kontrolü: not ve karar, gönderildiği gibi yanıt ve Mozilla HTTP Observatory'nin hesaplanmış iki turu. Her bölümün neyi gösterdiğini görmek için bir numara seçin.

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.

Güvenlik başlıkları ve her birinin değeriMozilla HTTP Observatory · algoritma 6
BaşlıkDurdururEksikİyi ayarÇalıştığı yer
Content-Security-Policyenjekte edilen betikler−25+5 / +10
Strict-Transport-Securityhttp:// sürümüne düşürme−20+5 preload'da
X-Frame-Options · frame-ancestorsgizli çerçevede clickjacking−20+5
X-Content-Type-Optionsyanlış türde çalışan dosyalar−50
Referrer-Policytam URL'lerin diğer sitelere sızması0+5
Cross-Origin-Opener-Policydiğer pencerelerin içeri uzanması0+10
Cross-Origin-Embedder-Policyizin vermeyenin yüklenmesi0+10
Cross-Origin-Resource-Policydosyalarınızın diğer sitelerce gömülmesi0+10
Permissions-Policykamera, mikrofon, konum kullanan gömmeler—puanlanmazyalnızca
Bonuslar yalnızca cezalardan sonra puan hâlâ 90 veya üzerindeyse sayılır. Observatory'nin diğer testleri çerezlere, subresource integrity'ye, CORS'a ve HTTPS'ye yönlendirmeye bakar.

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.

İki site, hesaplanmışObservatory'nin kendi sonuçları, 24 Ekim 2026

github.comA+

  1. Başlangıç100
  2. Harici betiklerde SRI yok−595
  3. 90 veya üzeri: bonus turu sayılır
  4. Çerezler: Secure, HttpOnly, SameSite+5
  5. Referrer-Policy+5
  6. HSTS preload'da+5
  7. Çerçeveleme CSP ile+5
  8. Puan115

www.mozilla.orgB+

  1. Başlangıç100
  2. CSP 'unsafe-inline' izni veriyor−2080
  3. 90 altı: bonus turu atlanır
  4. COOP same-origin+10
  5. Referrer-Policy+5
  6. Çerçeveleme CSP ile+5
  7. Puan80
Mozilla'nın sitesi tek bir CSP yönergesi yüzünden 20 puan kaybeder ve o zaman zaten kazandığı 20 bonus puan sayılmaz. O script-src içinden 'unsafe-inline' ve 'unsafe-eval' çıkarılırsa aynı başlıklar 120 alırdı.

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.

İki alan adı ve hstspreload.org kurallarıkayıt tarihi 24 Ekim 2026 · bilgi amaçlı

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

  1. 3005 dk. · test için
  2. 6048007 gün
  3. 259200030 gün
  4. 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.

Yönerge yönerge bir CSPgithub.com ve www.mozilla.org · 24 Ekim 2026

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.com
img-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 …
github.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.

Bir kopya ne kadar süre taze kalırwww.wikipedia.org · kayıt tarihi 24 Ekim 2026

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-storehiçbir önbelleğe asla yazma
no-cachesakla ama her kullanımdan önce sunucuya sor
max-age=NN saniye taze (Expires o zaman yok sayılır)
s-maxage=Naynısı, yalnızca paylaşımlı önbellekler için
privateyalnızca tarayıcılar, asla CDN değil
immutableyenilemede yeniden doğrulama (Chrome yok sayar)
CDN kopyası bize ulaştığında zaten 2 sa. 20 dk. eskiydi, tarayıcıların 1 sa. süresini aşmıştı: onu alan bir tarayıcı, yeniden kullanmadan önce sunucuyla kontrol etmelidir (ETag isteği).

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).

Silebileceğiniz başlıklarOWASP · Chromium · RFC 9110
X-XSS-Protection: 1; mode=block

0 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.

Chrome
Expect-CT

kaldırın

Chrome 107'den beri kullanımdan kalktı: Certificate Transparency zaten uygulanıyor.

Chrome
Public-Key-Pins

kaldırın

Chrome 72'de kaldırıldı; hiçbir güncel tarayıcı desteklemiyor.

Chrome
Feature-Policy

Permissions-Policy kullanın

Yeniden adlandırıldı: eski başlık kullanımdan kalktı.

Chrome
P3P

kaldırın

Hiçbir güncel tarayıcının okumadığı ölü bir gizlilik standardı; www.youtube.com hâlâ bir tane gönderiyor.

YouTube
Server: Apache/2.4.62 (Ubuntu) X-Powered-By: PHP/8.3.12

sü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.

Apache

Chrome'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.

Başlıkları kendiniz görüncurl · Chrome DevTools
$ 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
…
BaşlıklarÖnizlemeYanıtZamanlama

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?

Mozilla HTTP Observatory ölçeğinde A veya A+: bonus turunun sayılması için 90 puan veya üzeri. Hiç güvenlik başlığı olmayan bir site genellikle D veya F civarında kalır; güvensiz kaynaksız bir CSP, HSTS, çerçeve koruması ve nosniff ekleyen 100'e ulaşır, Referrer-Policy, çerezler ve çapraz kaynak politikaları da onu 100'ün üzerine, A+'ya çıkarır.

Notum neden securityheaders.com'dan farklı?

Farklı şeyleri ölçerler. securityheaders.com esas olarak hangi başlıkların bulunduğuna göre, kurucusunun en son 2023'te anlattığı bir puan şemasıyla not verir. Biz Mozilla HTTP Observatory'nin yayımlanmış testlerini izleriz; bunlar değerleri, çerezleri ve HTTPS'ye yönlendirmeyi de okur ve bonusları yalnızca 90 ve üzerinde sayar. Her sonuç Mozilla'nın hosta ait kendi taramasına link verir, böylece karşılaştırabilirsiniz.

Güvenlik başlıkları sitemi bozabilir mi?

Evet, ikisi bozabilir. Sıkı bir Content-Security-Policy sitenin ihtiyaç duyduğu betikleri veya stilleri engelleyebilir, includeSubDomains'li HSTS ise HTTPS'si olmayan her alt alan adını bozar. Yeni bir CSP'yi önce Content-Security-Policy-Report-Only olarak yayınlayın, raporları okuyun, sonra uygulayın; bir yıla karar vermeden önce HSTS max-age değerini beş dakikadan başlayarak adım adım artırın.

HTTP başlıklarını bir HEAD isteğiyle kontrol edebilir miyim?

Evet: URL'nin yanındaki yöntem kutusunda HEAD seçin. Sunucu gövde olmadan GET için göndereceği başlıkların aynısıyla yanıt vermelidir; ancak bazı sunucular veya CDN'ler HEAD'e farklı yanıt verir ve subresource integrity gibi HTML'yi okuyan testlerin okuyacak sayfası olmaz. GET varsayılandır çünkü bir tarayıcının tam olarak ne aldığını gösterir.

X-XSS-Protection hâlâ gerekli mi?

Hayır. Denetlediği XSS filtresi hiçbir güncel tarayıcıda yok: Chrome onu 78 sürümünde, Safari 15.4'te kaldırdı, Firefox'ta hiç olmadı. OWASP, eski filtrenin kendisi kötüye kullanılabildiği için X-XSS-Protection: 0 göndermeyi veya hiçbir şey göndermemeyi önerir ve Mozilla Observatory testini 2024'te bıraktı. Bugün enjekte edilen betikleri Content-Security-Policy durdurur.

X-Content-Type-Options: nosniff ne yapar?

Tarayıcıya içeriğe bakıp tahmin etmek yerine sunucunun gönderdiği Content-Type'a güvenmesini söyler. nosniff ile yanlış türle sunulan bir betik veya stil sayfası engellenir, böylece yüklenen bir dosya JavaScript olarak çalıştırılamaz. Tek geçerli değer budur ve başlık eksik veya geçersizse Observatory 5 puan düşer.

Başlık adları Chrome DevTools'ta neden küçük harf?

Çünkü sayfa HTTP/2 veya HTTP/3 üzerinden geldi ve orada her başlık adı küçük harf olmalıdır (RFC 9113 §8.2.1). Başlık adları büyük küçük harfe duyarsızdır, yani bir sorun yok. HTTP/1.1 üzerinde sunucunun kendi yazımı gelir ve bu araç onu okur; bu yüzden aynı yanıt için burada Strict-Transport-Security, DevTools'ta strict-transport-security görebilirsiniz.

nginx veya Cloudflare'de güvenlik başlıkları nasıl eklenir?

nginx'te server bloğuna başlık başına bir add_header satırı ekleyin, hata sayfaları da alsın diye always ile, sonra yeniden yükleyin. Cloudflare'de bir Response Header Transform Rule veya Pages'te bir _headers dosyası kullanın. Sonra siteyi burada kontrol edin: Güvenlik görünümündeki başarısız her test için nginx, Apache, IIS, Cloudflare, Vercel, Netlify ve Express'e hazır bir parça gelir.

Server başlığı nedir ve gizlemeli miyim?

Yanıt veren yazılımı, örneğin nginx veya cloudflare'i adlandırır. Yalın bir ürün adı zararsızdır, ancak RFC 9110 ince ayrıntıya karşı uyarır ve OWASP kırpmayı önerir, çünkü Apache/2.4.62 gibi bir sürüm numarası saldırganlara hangi bilinen hataları deneyeceklerini söyler. X-Powered-By'ı tümüyle kaldırın. Aracın sunucu başlığı görünümü ikisinin neyi ele verdiğini gösterir.

Başlık kontrolü başlıkları veya çerezleri saklar mı?

Hayır. URL'yi sunucumuzdan getirir, sonucu gösterir ve yenileme ile paylaşılan linkler hızlı yanıt versin diye iki dakika tutarız; sonra silinir. Çerez değerleri asla gösterilmez ve saklanmaz: araç yalnızca her çerezin adını, değerinin uzunluğunu ve bayraklarını listeler. Hiçbir şey sizinle ilişkilendirilmez ve kontrol edilen site adresinizi asla görmez.