HTTP Başlığı (HTTP Header) Nedir?
Kısa tanım
HTTP başlığı (HTTP header), bir HTTP isteğinde ya da yanıtında gövdeden önce gelen, “Ad: değer” biçimindeki üst veri satırıdır. İstek başlıkları istemcinin hangi siteyi istediğini, hangi formatları kabul ettiğini ve kimlik bilgisini taşır; yanıt başlıkları içeriğin türünü, önbellekte ne kadar tutulacağını, çerezleri ve güvenlik kurallarını bildirir. Başlık adları büyük-küçük harfe duyarlı değildir; standart alanların anlamı RFC 9110'da tanımlanır.
Diğer adları: HTTP Header, HTTP başlık alanı, Header field, İstek başlığı, Yanıt başlığı

Bir HTTP mesajının üst verisi
Her HTTP mesajı üç parçadan oluşur: başlangıç satırı (istekte metot ve adres, yanıtta durum kodu), başlıklar ve isteğe bağlı bir gövde. Tarayıcıda gördüğünüz sayfanın HTML'i gövdedir; o HTML'in hangi karakter kümesiyle yazıldığı, sıkıştırılıp sıkıştırılmadığı ya da ne kadar süre saklanabileceği ise başlıklarda yazar. Mesajın genel akışı HTTP istek ve yanıt maddesinde anlatılıyor; burada başlıkların kendisine odaklanıyoruz.
Bir ürün sayfası için tarayıcının gönderdiği istek ve sunucunun döndüğü yanıt, gövdeler çıkarıldığında şöyle görünür:
GET /urunler/kahve-makinesi HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Accept: text/html
Accept-Language: tr-TR,tr;q=0.9,en;q=0.8
Accept-Encoding: gzip, br
Cookie: sepet=8f2c41HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Encoding: br
Cache-Control: public, max-age=600
Vary: Accept-Encoding
Set-Cookie: dil=tr; Path=/; Max-Age=31536000; Secureİstek başlıkları ve yanıt başlıkları
Bazı başlıklar yalnızca istemciden sunucuya, bazıları yalnızca sunucudan istemciye gider; Content-Type gibi bir kısmı ise iki yönde de kullanılır.
| Başlık | Yön | Ne söyler? |
|---|---|---|
Host | İstek | Hangi alan adının istendiğini; aynı IP adresinde çok sayıda site barındırmayı mümkün kılar |
User-Agent | İstek | İstemci yazılımını tanıtır; tarayıcılar da arama motoru botları da buraya kendi adını yazar, ama değer kolayca taklit edilebilir |
Accept-Language, Accept-Encoding | İstek | Tercih edilen dil ve sıkıştırma biçimi (içerik müzakeresi) |
Authorization | İstek | Kimlik bilgisi, örneğin Bearer şemasıyla bir token |
Cookie / Set-Cookie | İstek / Yanıt | Tarayıcıda saklanan çerezleri geri gönderir / yeni çerez kaydettirir |
Location | Yanıt | Yönlendirmenin hedefini veya yeni oluşturulan kaynağın adresini |
Cache-Control | Her ikisi | Yanıtın tarayıcıda ve ara katmanlarda nasıl önbelleğe alınacağını; ayrıntısı Cache-Control maddesinde |
Vary | Yanıt | Hangi istek başlıkları değiştiğinde yanıtın da değiştiğini; önbelleklerin yanlış sürümü sunmasını önler |
Arama motorlarının okuduğu başlıklar
Googlebot bir sayfayı HTML'inden önce başlıklarıyla birlikte alır ve bazı kararları yalnızca başlıklara bakarak verir:
X-Robots-Tag: Meta robots etiketinin HTTP karşılığıdır. PDF, görsel gibi içine HTML etiketi eklenemeyen dosyalardanoindexvermenin yolu budur; yanlışlıkla bütün siteye eklenen bir X-Robots-Tag ise sayfaların dizinden düşmesine yol açar.Link: HTML olmayan bir dosya için canonical adres bu başlıkla bildirilebilir:Link: <https://www.example.com/katalog.pdf>; rel="canonical".Location: 301 ve 302 yönlendirmelerinin hedefi buradadır; hedef göreli ya da hatalı yazılmışsa yönlendirme kırılır.Content-Type: HTML bir sayfatext/plainolarak sunulursa tarayıcı onu düz metin gösterir, arama motoru da sayfa olarak işlemez.
Bir sayfanın gerçekten hangi başlıklarla döndüğünü görmek için tarayıcı geliştirici araçlarının Network sekmesi ya da komut satırında curl -sD - -o /dev/null https://www.example.com/ yeterlidir. SEO Analiz Aracı da yanıttaki X-Robots-Tag ve güvenlik başlıklarını raporlar.
Güvenlik politikaları da başlıkla gelir
Tarayıcıya “bu siteye yalnızca HTTPS ile bağlan”, “bu sayfayı başka bir sitenin çerçevesinde gösterme” ya da “yalnızca şu kaynaklardan script çalıştır” demenin yolu yanıt başlıklarıdır. HSTS, Content-Security-Policy ve X-Content-Type-Options bu gruptadır ve güvenlik başlıkları maddesinde ayrıca ele alınıyor. Farklı kökenden gelen isteklere hangi koşullarda izin verileceğini belirleyen CORS da tamamen başlıklar üzerinden işler. Ters yönde bir öneri de vardır: Server veya X-Powered-By başlıklarında yazılımın tam sürümünü yayınlamak saldırganın işini kolaylaştırır, gereksizse kaldırılmalıdır.
Yazım kuralları ve sık yapılan hatalar
- Harf duyarlılığı:
Content-Typeilecontent-typeaynı başlıktır. HTTP/2 ve HTTP/3 başlık adlarını küçük harfle taşır, bu yüzden geliştirici araçlarında küçük harfle görünmeleri normaldir. X-öneki: Özel başlıklaraX-ekleme alışkanlığı 2012'de RFC 6648 ile önerilmez hâle geldi. Yeni bir özel başlık için açıklayıcı bir ad seçmek yeterlidir.- Çift kaynak: Uygulama bir
Cache-Controldeğeri gönderirken CDN veya sunucu yapılandırması ikinci bir değer ekleyebilir. Çelişen başlıkların nasıl yorumlanacağı belirsizdir; her başlığın tek bir yerden yönetilmesi gerekir. - Yerelde doğru, canlıda farklı: Reverse proxy, CDN ve WAF başlık ekleyip silebilir. Kontrol her zaman kullanıcının gördüğü canlı adres üzerinden yapılmalıdır.

