# HTTP Başlığı

Adres: https://softwaredictionary.org/tr/terimler/http-header
Kategori: Web Geliştirme
Son güncelleme: 2026-10-05
İngilizcesi: HTTP Header
Türkçe karşılığı: başlık
Okunuşu: hedır

Kısaca: HTTP başlığı, bir HTTP isteği ya da yanıtıyla gönderilen ad-değer satırıdır; içerik türü, önbellek kuralları ya da kimlik bilgileri gibi ayrıntıları taşır.

## HTTP başlığı (header) nedir?

Her HTTP mesajı başlıklar taşır: gövdeden önce gelen ve onu tarif eden `Name: value` biçimindeki satırlar. İstekler bunları kimin sorduğunu ve neleri kabul ettiğini söylemek için, yanıtlar da neyin gönderildiğini ve nasıl ele alınacağını söylemek için kullanır. Başlık adlarında büyük-küçük harf fark etmez; `Content-Type` ile `content-type` aynı başlıktır.

İşin çoğunu bir avuç başlık yapar. `Content-Type` gövdenin biçimini belirtir, örneğin `application/json`; `Authorization` bearer token gibi kimlik bilgilerini taşır; `Accept` istemcinin istediği biçimleri sıralar; `Cache-Control` bir yanıtın önbelleğe alınıp alınamayacağını ve ne kadar süreyle alınabileceğini söyler; `Cookie` ve `Set-Cookie` çerezleri taşır; `Location` ise bir yönlendirmeden sonra tarayıcıya nereye gideceğini söyler. `Content-Security-Policy` ve `Strict-Transport-Security` gibi güvenlik başlıkları da tarayıcıya sayfayı nasıl koruyacağını anlatır.

Başlıklar bir kolinin üzerindeki etikete benzer: kutuyu açmadan içinde ne olduğunu, nereye gittiğini ve nasıl taşınacağını söyler. Onları tarayıcının geliştirici araçlarındaki Network panelinde ya da `curl -v` ile okuyabilirsiniz. Özel başlıklar eskiden `X-Request-Id` örneğindeki gibi `X-` ile başlardı; bu alışkanlık artık önerilmiyor, ama bu tür pek çok başlık hâlâ kullanımda. HTTP/2 ve HTTP/3 başlıkları sıkıştırır ve adlarını her zaman küçük harfle gönderir.

## Önemli noktalar

- Başlıklar, bir HTTP isteğini ya da yanıtını tarif eden `Name: value` satırlarıdır.
- İstekler onları kimlik bilgileri ve tercihler için, yanıtlar biçim ve işleme talimatları için kullanır.
- En yaygınları arasında `Content-Type`, `Authorization`, `Cache-Control` ve `Set-Cookie` vardır.
- Başlık adlarında büyük-küçük harf fark etmez; HTTP/2 onları küçük harfle gönderir.

## Örnek: Bir isteğin ve yanıtının başlıkları, curl'ün gösterdiği hâliyle

```bash
curl -v https://example.com -o /dev/null
# Sent by curl (>):
# > GET / HTTP/1.1
# > Host: example.com
# > User-Agent: curl/8.17.0
# > Accept: */*
#
# Sent back by the server (<), names in any case:
# < HTTP/1.1 200 OK
# < Content-Type: text/html; charset=utf-8
# < last-modified: Fri, 02 Oct 2026 16:11:02 GMT
# < allow: GET, HEAD
# < Age: 603
```

## Sık sorulan sorular

**Başlıklarla gövde arasındaki fark nedir?**

Başlıklar üst veridir: mesajı tarif eden kısa satırlar. Gövde ise içeriğin kendisidir; bir HTML sayfası, JSON verisi ya da bir resim gibi. Bir `GET` isteğinin genellikle başlıkları vardır ama gövdesi yoktur.

**JavaScript her yanıt başlığını okuyabilir mi?**

Başka bir origin'den gelen yanıtlarda okuyamaz. Tarayıcıda `fetch`, başka origin'lerden gelen yanıtların yalnızca birkaç güvenli başlığını gösterir; sunucu CORS'un bir parçası olan `Access-Control-Expose-Headers` ile daha fazlasını listelerse onlar da okunabilir. `Set-Cookie` gibi bazı başlıklar ise JavaScript'ten hiçbir zaman okunamaz.

## Kaynaklar

- [RFC 9110: HTTP Semantics, Fields](https://www.rfc-editor.org/rfc/rfc9110.html#name-fields)
- [MDN: HTTP headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers)

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
