HTTP Headers Nedir ve Neden Önemlidir?

Her bir HTTP Header bir ad ve değer çiftinden oluşur, sonrasında ise iki nokta üst üste(:) ile ayrılır.

  • Sunucunun göndermiş olduğu çerezleri tarayıcıya aktarır. Bu sayede tarayıcı, sonraki isteklerde sunucuyla etkileşimde bulunurken oturumu sürdürür.
  • User-Agent
  • : Sunucu, burada verilen bilgilere göre uygun içeriği göndereceği istemci özelliklerini belirtir. Sunucular, farklı tarayıcılar ve cihazlar için içerik sunma veya uygun bir yanıt döndürme amacıyla bu bilgiyi kullanır.

    tr

    Accept-Language: tr-TR

    İstemci ve sunucular arasındaki iletişimi önemli oranda etkileyen HTTP headers, internetin çalışmasını sağlayan temel yapı taşlarından biridir. Yaptığınız SEO analizlerinde ise önemli noktaları görmenizi sağlar. Web siteleri HTTP headers kullanarak istemciler ile iletişim kurar ve uygun yanıt verir. Bu yazı sayesinde HTTP Headers nedir, HTTP headers türleri nelerdir gibi birçok soruya cevap bulacak, detaylı bir şekilde inceleyebileceksiniz.

    İstemci ve sunucular arasındaki iletişimi önemli oranda etkileyen HTTP headers, internetin çalışmasını sağlayan temel yapı taşlarından biridir. Yaptığınız SEO analizlerinde ise önemli noktaları görmenizi sağlar. Web siteleri HTTP headers kullanarak istemciler ile iletişim kurar ve uygun yanıt verir. Bu yazı sayesinde HTTP Headers nedir, HTTP headers türleri nelerdir gibi birçok soruya cevap bulacak, detaylı bir şekilde inceleyebileceksiniz.

    SEO

    HTTP headers, HTTP istekleri ve yanıtları sırasında aktarılan metinsel bilgilerdir. Web sunucusu ile bir istemci arasında veri aktarımı yapan kodlar olarak ifade edilir ve esas olarak sunucu ve istemci arasında iletişim için tasarlanmışlardır.

    Her bir HTTP Header bir ad ve değer çiftinden oluşur, sonrasında ise iki nokta üst üste(:) ile ayrılır.

    GET /sayfa HTTP/1.1 

    GET /sayfa HTTP/1.1 

    Host: www.ornek.com 

    Host: www.ornek.com 

    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 

    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 

    Accept-Language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7 

    Accept-Language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7 

    Connection: keep-alive

    Connection: keep-alive

    Bu örneği inceleyecek olursanız Host, User-Agent ve Accept-Language olarak 3 farklı HTTP Header göreceksiniz.

    Çeşitli bilgileri aktarmak ve işlemleri düzenlemek için oldukça önemli bir iletişim aracı olan HTTP Headers’ın başlıca görevleri şu şekildedir:

  • İstemci ve sunucu arasında bilgi aktarımı gerçekleşir. HTTP headers sayesinde kullanıcı tarayıcısının özelliklerini belirterek, sunucunun daha doğru içeriği sunmasına yardımcı olabilirsiniz.
  • İstemci ve sunucu arasında bilgi aktarımı gerçekleşir. HTTP headers sayesinde kullanıcı tarayıcısının özelliklerini belirterek, sunucunun daha doğru içeriği sunmasına yardımcı olabilirsiniz.

    Sunucunun, önbelleğe alması, yönlendirme yapması gibi işlemleri gerçekleştirmesini sağlar.

    Kullanıcıya ait kimlik bilgilerinin sunucuya aktarımını yapar. HTTP header ile sunucu, istemciyi doğrular ve yetkilendirme işlemini gerçekleştirir.

    Sunucunun göndermiş olduğu çerezleri tarayıcıya aktarır. Bu sayede tarayıcı, sonraki isteklerde sunucuyla etkileşimde bulunurken oturumu sürdürür.

    3xx durum kodlarıyla birlikte kullanılır ve yönlendirme yapılacak yeni konumu belirtilmesini sağlar. 

    Tarayıcının sayfayı ne kadar süreyle önbelleğe alacağını belirler.

    En sık karşılaşabileceğiniz HTTP header türleri şu şekildedir.

  • Accept
  • Accept

    Content-Type

    Authorization 

    User-Agent

    Referer

    Host

    Cookie

    HTTP Request Header (HTTP İstek başlıkları), istemci tarafından sunucuya gönderilen talepleri belirtir. HTTP Response Headers(HTTP Yanıt başlıkları) ise ise sunucudan istemciye gönderilen yanıtları ifade etmektedir..

    HTTP Request Header (HTTP İstek Başlıkları)

    Host

    Örnek:

    User

    Örnek

    Accept

    Örnek

    Accept-Language

    Örnek

    Authorization

    Content-Type:

    Örnek:

    Content-Length:

    Örnek:

    Referer:

    Örnek:

    Cookie:

    Örnek

    Cache-Control:

    Örnek:

    If-Modified-Since:

    Örnek

    Origin:

    Örnek:

    Bu istek başlıkları sayesinde iletişimin daha verimli ve güvenli olur. Sunucular, belirtilmiş olan HTTP Header’larda verilen bilgileri kullanarak istemcilere uygun yanıtlar verir ve kullanıcı deneyimini geliştirebilir.

    Web sunucusu, bir istemcinin (tarayıcının) gönderdiği isteği aldığında, isteği işleyerek bir yanıt döner. HTTP Response Headers (yanıt başlıkları) , sunucunun yanıtı hakkında bilgi verir ve istemciye gereken içeriği nasıl işleyeceğini belirtir. Yanıt başlıklarının bazı örnekleri şunlardır:

    HTTP Durum Kodu (HTTP Status Code):

    HTTP Durum Kodu (HTTP Status Code):

    200 OK: İstek başarılı, içerik gönderiliyor.

    404 Not Found: İstek yapılan kaynak bulunamadı.

    500 Internal Server Error: Sunucuda bir iç hata meydana geldi.

    Örnek

    Content-Type:

    Örneğin: text/html: HTML içeriği

                   application/json: JSON verisi

                   image/jpeg: JPEG formatında resim

    Content-Length:

    Örnek:

    Cache-Control:

    Örnek:

    Location

    Örnek

    Set-Cookie:

    Örnek

    Date

    Örnek:

    Server: Sunucuya ait yazılımın adını ve sürümünü verir.

    Örnek

    Content-Encoding

    Örnek

    ETag:

    Örnek

    Expires

    Örnek

    Last-Modified:

    Örnek

    Burada belirtilen HTTP headers, sunucudan gelen yanıtların yönetimi ve işlenmesinde önemli bir rol oynarlar. İstemci (tarayıcı) bu başlıkları kullanarak yanıta ve içeriğe uygun şekilde tepki verir.

    Örnek HTTP Header ve Açıklamaları

    GET /hedef-sayfa HTTP/1.1

    GET /hedef-sayfa HTTP/1.1

    Host: www.ornekweb.com

    Host: www.ornekweb.com

    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0

    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0

    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

    Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3

    Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3

    Cookie: kullanicilar=x kişisi; dil=tr

    Cookie: kullanicilar=x kişisi; dil=tr

    Kullanılan

    HTTP/1.1 200 OK Date: Sat, 30 Jul 2023 12:00:00 GMT

    HTTP/1.1 200 OK Date: Sat, 30 Jul 2023 12:00:00 GMT

     Content-Type: text/html; charset=utf-8 

     Content-Type: text/html; charset=utf-8 

    Content-Length: 255 

    Content-Length: 255 

    Set-Cookie: dil=tr; expires=Sat, 06 Aug 2023 12:00:00 GMT; path=/; HttpOnly 

    Set-Cookie: dil=tr; expires=Sat, 06 Aug 2023 12:00:00 GMT; path=/; HttpOnly 

    Server: Apache 

    Server: Apache 

    Cache-Control: max-age=3600

    Cache-Control: max-age=3600

    Bu örnekte ise sunucunun 200 durum kodu ile başarılı bir şekilde yanıt verdiğini; text/html olarak belirtilen content-type HTTP header ile HTML içerikleri kabul ettiğini; önbellekteki içeriğin geçerliliğinin Sat, 06 Aug 2023 12:00:00 tarihinde sona erdiğini, cache-control HTTP header ile ise içeriğin 3600 saniye (1 saat) boyunca önbelleğe alınabileceğini belirtmek istediğini görebilirsiniz.

  • HTTP Header (HTTP Başlığı) Nedir?
  • HTTP Header (HTTP Başlığı) Nedir?

    HTTP Headers, istemli ile sunucu arasında HTTP Request Headers (HTTP İstek Başlıkları) ve HTTP Response Headers (HTTP Yanıt Başlıkları) olarak isimlendirilen başlıklar ile bilgi iletilmesini sağlayan kodlardır.

  • HTTP Request Header Nedir?
  • HTTP Request Header Nedir?

    Türkçesi HTTP istek başlıkları olan HTTP request headers, istemcinin sunucuya gönderdiği talebi, yapmak istediği işlemi belirttiği başlıklardır. Sunucunun isteği doğru bir şekilde anlaması için oldukça büyük önem taşırlar.

  • HTTP Response Headers Nedir?
  • HTTP Response Headers Nedir?

    Türkçesi HTTP yanıt başlıkları olan HTTP response headers, sunucunun istemciden aldığı istek başlıklarına verilen yanıt başlıklarıdır. 

    HTTP Headers Nedir?

  • Sunucunun, önbelleğe alması, yönlendirme yapması gibi işlemleri gerçekleştirmesini sağlar.
  • Content-Type
  • : Bu HTTP Header, hedef sunucunun adını veya IP adresini belirtir.

    Host: www.ornekweb.com

    :

    : Tarayıcının kabul edebileceği içerik türlerini belirtir. Örneğin, “text/html” HTML içerik türünü kabul ettiğini gösterir.

    :

    : İstemcinin dil tercihini belirtmek için kullanılır. Sunucu, içeriği bu tercihlere göre sunar. Bu HTTP header sayesinde birden fazla dil tercihiniz varsa virgülle ayırarak belirtebilirsiniz.

    :

    : Kimlik doğrulama için kullanılır ve yetkilendirme bilgilerini içerir. Genellikle, kullanıcı adı ve şifre gibi kimlik doğrulama mekanizmalarında kullanılır.

    İçeriğin türünü belirtir. 

    Content-Type: text/html; charset=utf-8

    İstekteki içeriğin uzunluğunu belirtir. Bu uzunluğu bayt cinsinden verir. Sunucu, isteği işlerken bu bilgiyi kullanır.

    Content-Length: 1024

    İsteğin nereden geldiğini belirtir. Özellikle bir bağlantıya tıkladığında, yeni sayfada hangi bağlantıdan geldiğini belirlemek için kullanılır.

    Referer: https://www.google.com/search?q=ornek+arama

    Tarayıcı, sunucuya daha önce gönderilen çerezleri bu başlıkla gönderir. Sunucu, kullanıcı oturumlarını yönetmek ve özelleştirilmiş deneyim sunmak için bu bilgiyi kullanır.

    :

    Önbellekleme davranışını belirler. Örneğin, “no-cache” önbelleği kullanmayı engelleyerek, sunucudan her zaman yeni içerik alınmasını sağlar.

    Cache-Control: max-age=3600

    Eğer belirtilen tarihten sonra içerik değişmediyse, sunucu içeriği göndermeyebilir. Bu HTTP header sayesinde, içeriğin güncel olup olmadığını kontrol eder.

    :

    Cross-Origin Resource Sharing (CORS) politikaları için köken (origin) bilgisini belirtir. Sunucu, bu bilgiyi kullanarak istemciye veri paylaşımını kontrol eder.

    Origin: https://www.ornekuygulama.com

    Sunucunun işlemin durumunu belirtmek için gönderdiği üç haneli bir kod. Örneğin:

    :

    Yanıtın içeriğinin türünü belirtir. 

    Yanıtın içeriğinin uzunluğunu bayt cinsinden belirtir.

    Content-Length: 1024

    Tarayıcıda veya önbellekleyici aracılarda içeriğin nasıl önbellekleneceğini yönlendirir. 

    Cache-Control: no-cache, no-store, must-revalidate

    : Yönlendirme durumunda (örneğin 301 veya 302 durum kodlarıyla) kullanılması gereken yeni kaynağın URLini belirtir.

    :

    Bu HTTP header sayesinde tarayıcıya çerez (cookie) göndermek için kullanılır. Sunucu, tarayıcıda saklanacak çerez bilgilerini bu başlıkla gönderir.

    :

    : Oluşturulan yanıtın tarih ve saat bilgisini verir.

    Date: Sun, 16 Jul 2023 18:00:00 GMT

    :

    : Yanıtın içeriğinin nasıl kodlandığını belirtir. Örneğin, “gzip” sıkıştırma ile gönderilmiş ise aşağıda verilmiş HTTP Header kullanılır.

    :

    İçeriğin bir etiketini (tag) belirtir. Sunucu, bu etiketi sonraki isteklerde “If-None-Match” başlığında kullanarak içeriğin değişip değişmediğini kontrol edebilir.

    :

    : Önbellekteki içeriğin geçerliliğinin sona ermiş ise buna ait tarih ve saat bilgisini verir.

    :

    İçeriğe ait son güncellenme tarihini belirtir.

    :

    Accept HTTP Header’da ‘text/html

    HTTP headers, HTTP istekleri ve yanıtları sırasında aktarılan metinsel bilgilerdir. Web sunucusu ile bir istemci arasında veri aktarımı yapan kodlar olarak ifade edilir ve esas olarak sunucu ve istemci arasında iletişim için tasarlanmışlardır.

  • Kullanıcıya ait kimlik bilgilerinin sunucuya aktarımını yapar. HTTP header ile sunucu, istemciyi doğrular ve yetkilendirme işlemini gerçekleştirir.
  • Authorization 
  • Agent

    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0

    Accept: text/html

    Accept-Language: tr-TR

    Cookie: kullanicilar=kisi; dil=

    If-Modified-Since: Sat, 30 Jul 2023 10:30:00 GMT

    HTTP/1.1 200 OK

    Location: https://www.example.com/new-page

    Set-Cookie: session_id=abc123; Expires=Sat, 24 Jul 2023 12:00:00 GMT; Path=/

    Server: Apache/2.4.38 (Unix)

    Content-Encoding: gzip

    ETag: “abc123”

    Expires: Thu, 01 Aug 2023 00:00:00 GMT

    Last-Modified: Wed, 12 Jul 2023 15:30:00 GMT

    ’ belirtilerek tarayıcının HTML içeriği kabul ettiğini,

    GET /sayfa HTTP/1.1 

  • 3xx durum kodlarıyla birlikte kullanılır ve yönlendirme yapılacak yeni konumu belirtilmesini sağlar. 
  • Referer
  • HTTP headerını kullanarak ise Türkçe dil tercihi yaptığını, son olarak ise

    Host: www.ornek.com 

  • Tarayıcının sayfayı ne kadar süreyle önbelleğe alacağını belirler.
  • Host
  • Cookie: kullanicilar=x kişisi; dil=tr

    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 

  • Cookie
  • HTTP Headerı ile önceden sunucudan alınmış olan “kullanıcılar” ve “dil” adlı çerezleri sunucuya tekrar gönderdiği çıkarımını yapabilirsiniz.

    Accept-Language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7 

    Connection: keep-alive

    Bu örneği inceleyecek olursanız Host, User-Agent ve Accept-Language olarak 3 farklı HTTP Header göreceksiniz.

    HTTP Headers ve Görevleri

    Çeşitli bilgileri aktarmak ve işlemleri düzenlemek için oldukça önemli bir iletişim aracı olan HTTP Headers’ın başlıca görevleri şu şekildedir:

    • İstemci ve sunucu arasında bilgi aktarımı gerçekleşir. HTTP headers sayesinde kullanıcı tarayıcısının özelliklerini belirterek, sunucunun daha doğru içeriği sunmasına yardımcı olabilirsiniz.
    • Sunucunun, önbelleğe alması, yönlendirme yapması gibi işlemleri gerçekleştirmesini sağlar.
    • Kullanıcıya ait kimlik bilgilerinin sunucuya aktarımını yapar. HTTP header ile sunucu, istemciyi doğrular ve yetkilendirme işlemini gerçekleştirir.
    • Sunucunun göndermiş olduğu çerezleri tarayıcıya aktarır. Bu sayede tarayıcı, sonraki isteklerde sunucuyla etkileşimde bulunurken oturumu sürdürür.
    • 3xx durum kodlarıyla birlikte kullanılır ve yönlendirme yapılacak yeni konumu belirtilmesini sağlar. 
    • Tarayıcının sayfayı ne kadar süreyle önbelleğe alacağını belirler.

    En Yaygın 7 HTTP Headers

    En sık karşılaşabileceğiniz HTTP header türleri şu şekildedir.

    Exit mobile version