Post

HTTP

HTTP Request Methods

HTTP protokolü, internet üzerinde bilgi alışverişinin nasıl yapılacağını belirleyen kurallar bütünüdür. Bu protokol, web tarayıcımızın (istemci) web sunucusuna çeşitli türde isteklerde bulunmasını sağlar. İşte bu istek türlerine “metot” denir. Her bir metot, farklı bir işlevi yerine getirir:

  • GET: Veri almak için kullanılır, örneğin bir web sayfası istemek.
  • POST: Sunucuya veri göndermek için kullanılır, örneğin bir form gönderildiğinde.
  • PUT: Var olan bir kaynağı güncellemek için kullanılır.
  • PATCH: Kaynağın sadece bir bölümünü güncellemek için daha hızlı bir yol sunar.
  • DELETE: Bir kaynağı silmek için kullanılır.
  • CONNECT: İstemci ile sunucu arasında tünel kurmak için kullanılır, genellikle güvenlik duvarları veya proxy’ler ile çalışırken.
  • HEAD: GET’e benzer, ancak yalnızca kaynağın başlıklarını (headers) alır, içeriğini değil.
  • OPTIONS: Sunucunun hangi metotları desteklediğini öğrenmek için kullanılır.
  • TRACE: İsteklerin yolda değişip değişmediğini kontrol etmek için teşhis amaçlı kullanılır.
  • SEARCH: Bir kaynak içinde arama yapmak için kullanılır.

HTTP Response Status Codes

HTTP durum kodları, bir web sunucusunun, tarayıcı tarafından gönderilen bir isteğe verdiği yanıtın türünü gösteren sayısal kodlardır. Bir web sayfası istediğimizde, sunucu bu isteğe karşı bir durum kodu ile yanıt verir ve bu kod, isteğin başarılı olup olmadığını, eğer başarısızsa neyin yanlış gittiğini anlamamıza yardımcı olur.

İşte genel HTTP durum kodları sınıflandırması:

  • 1xx (Bilgilendirme): İstek alındı ve süreç devam ediyor.
  • 2xx (Başarılı): İstek başarıyla alındı, anlaşıldı ve kabul edildi.
  • 3xx (Yönlendirme): İsteği tamamlamak için daha fazla eylem gerekiyor.
  • 4xx (İstemci Hatası): İstek hatalı veya tamamlanamaz durumda.
  • 5xx (Sunucu Hatası): Geçerli bir istek sunucu tarafından karşılanamıyor.

http status codes

1xx: Informational

An informational response code informs the client that the request is continuing.

2xx: Success

A successful response was received, interpreted corrected, and has been accepted.

3xx: Redirection

A redirection indicates that further action needs to take place before the request is completed.

4xx: Client error

A client error indicates that the request cannot be completed because of an issue with the client, or the syntax of the request.

5xx: Server error

A server error indicates that the request is valid but cannot be completed because of an issue on the server’s side, such as a lack of available resources.

Additional status codes

In addition to the five primary categories of HTTP status codes mentioned above, the following status codes can also be encountered on the World Wide Web.

HTTP Headers

HTTP başlıkları, bir web sayfasına erişmek isteyen tarayıcı gibi bir istemci ile bu sayfayı sağlayan sunucu arasındaki iletişimde kullanılan ve isteğin nasıl işleneceğine dair önemli bilgiler içeren etiketlerdir. Bu etiketler, hangi web adresine ulaşmak istendiği, istemcinin türü, hangi içerik türlerinin ve dillerin tercih edildiği gibi bilgileri barındırır. İstemci ve sunucu, bu başlıklar aracılığıyla birbirleriyle nasıl iletişim kuracaklarını belirler ve bu sayede veri alışverişi düzgün bir şekilde gerçekleşir.

http headers

HTTP isteklerindeki parametler:

  • Host: Erişilmek istenen web server’ın adres bilgisi yer alır.
  • User Agent: Kullanıcının internet tarayıcısı, tarayıcı versiyonu ve işletim sistemi hakkında bilgi verir.
  • Accept: Kullanıcının hangi tür dosyaları kabul edebileceğini belirtir (örn. resimler, metinler).
  • Accept-Language: Kullanıcının hangi dillerde içerik görmek istediğini ifade eder.
  • Accept-Encoding: Kullanıcının hangi dosya sıkıştırma formatlarını kabul edebileceğini belirtir.
  • If-Modified-Since: Kullanıcının son ziyaretinden bu yana içeriğin değişip değişmediğini kontrol etmek için kullanılır.
  • Cookie: Kullanıcının site ziyaretleri ve tercihleri hakkında bilgi saklar.
  • Referer: Kullanıcının hangi sayfadan yönlendirildiğini gösterir.
  • Authorization: Erişmek istenen içeriğe giriş yapabilmek için gerekli kimlik doğrulama bilgisini içerir.

HTTP cevaplarındaki parametler:

  • Cache-Control: İçeriğin ne kadar süreyle önbellekte saklanacağını veya saklanmayacağını belirtir.
  • Content-Type: İçeriğin ne türde olduğunu ve web tarayıcısının hangi dosya formatlarını gösterebileceğini belirtir.
  • Content-Length: İçeriğin boyutunun ne kadar olduğunu, yani kaç byte olduğunu gösterir.
  • Etag: İçeriği benzersiz bir şekilde tanımlayan ve önbellekte doğru sürümün olup olmadığını kontrol etmek için kullanılan bir kod.
  • Last-Modified: İçeriğin en son ne zaman güncellendiğini belirtir.
  • Location: Yönlendirilmiş bir istekte, yeni URL adresini belirtir.
  • Set-Cookie: Kullanıcının bilgisayarında çerez (cookie) bilgilerini ayarlar veya günceller.
  • www-Authenticate: Erişim için gerekli kimlik doğrulama yöntemini belirtir.
  • Content-Encoding: İçeriğin hangi tür encode işlemine tabi tutulduğunu ve bu sayede nasıl sıkıştırıldığını belirtir.

HTTP Status Codes kaynak

Kayhan Kırbaş medium kaynak

This post is licensed under CC BY 4.0 by the author.