Web projelerinde Response Yapısı: Status Code, Header, Content
Web projelerinde HTTP (Hypertext Transfer Protocol) protokolü, istemciden (genellikle bir tarayıcıdan) sunucuya yapılan isteklerin nasıl yönetileceğini belirler. Bu isteklerin karşılığında sunucu, istemciye bir yanıt (response) döner. Bir HTTP response yapısı genellikle üç ana bölümden oluşur: status code (durum kodu), header (başlık) ve content (içerik).
1. Status Code (Durum Kodu)
HTTP durum kodu, sunucunun bir isteği başarıyla tamamlama durumunu veya başarısızlığı hakkında bilgi verir. Durum kodları üç haneli numerik kodlardır ve her biri belirli bir anlam taşır. İşte bazı yaygın durum kodları ve anlamları:
- 200 OK: İstek başarılı bir şekilde tamamlandı ve istemciye istenilen içerik gönderildi.
- 301 Moved Permanently: İstenilen kaynak kalıcı olarak başka bir URI'ye taşındı.
- 404 Not Found: İstenen kaynak bulunamadı.
- 500 Internal Server Error: Sunucu isteği yerine getiremedi ve genel bir hata oluştu.
HTTP durum kodları, bir isteğin sunucu tarafından nasıl işlendiğini ve sonucunun ne olduğunu açıklayan üç haneli sayılardır. Her durum kodu belirli bir anlam taşır ve genellikle aşağıdaki beş kategoriye ayrılır:
1xx - Informational (Bilgilendirme)
Bu durum kodları, isteğin alındığını ve işleme konulduğunu bildirir. Gerçek yanıt henüz alınmamıştır, ancak sunucu işlemi sürdürüyor demektir.
- 100 Continue: Sunucu, istemcinin bazı isteğin devam edebileceğini belirtiyor.
- 101 Switching Protocols: Sunucu, istemcinin bağlantı protokollerini değiştirmesi gerektiğini belirtiyor.
2xx - Success (Başarı)
Bu durum kodları, isteğin başarıyla işlendiğini ve sonuç olarak istenilen kaynağın veya eylemin başarıyla tamamlandığını belirtir.
- 200 OK: İstek başarılı bir şekilde gerçekleştirildi ve sonuç başarıyla döndürüldü.
- 201 Created: Yeni bir kaynak başarıyla oluşturuldu.
- 204 No Content: İstek başarılı oldu, ancak sunucu herhangi bir içerik göndermedi.
3xx - Redirection (Yönlendirme)
Bu durum kodları, istemcinin ek işlem yapması gerektiğini veya kaynakların başka bir yerde bulunduğunu bildirir.
- 301 Moved Permanently: İstek edilen kaynak kalıcı olarak başka bir URL'ye taşındı.
- 302 Found (Moved Temporarily): İstek edilen kaynak geçici olarak başka bir URL'ye taşındı.
- 304 Not Modified: Kaynak, istemcinin önbelleğinde bulunduğu için sunucu yeni içerik göndermedi.
4xx - Client Error (İstemci Hatası)
Bu durum kodları, istemcinin isteği yanlış veya hatalı bir şekilde yaptığını ve sunucunun isteği işleyemediğini belirtir.
- 400 Bad Request: Sunucu, isteği anlamıyor veya yanlış formatta.
- 403 Forbidden: İstek yasaklandı, istemci yetkili değil.
- 404 Not Found: İstek yapılan kaynak sunucuda bulunamadı.
5xx - Server Error (Sunucu Hatası)
Bu durum kodları, sunucunun isteği işleyemediğini ve istemcinin beklenen sonuç alamadığını belirtir.
- 500 Internal Server Error: Sunucu, isteği yerine getirirken genel bir hata oluştu.
- 503 Service Unavailable: Sunucu geçici olarak hizmet dışı, genellikle bakım veya aşırı yük nedeniyle.
Bu durum kodları, HTTP iletişiminde sorunların anlaşılması ve hızlı bir şekilde çözülmesi için önemli bilgiler sağlar. Web uygulamalarında, uygun durum kodlarının kullanımı hem kullanıcı deneyimi hem de hata ayıklama süreçleri açısından kritiktir.
HTTP/1.1 200 OK
2. Header (Başlık)
HTTP başlıkları, yanıtın daha ayrıntılı bilgilerini içeren meta verilerdir. Başlıklar genellikle key-value (anahtar-değer) çiftleri olarak sunulur ve hem istemcinin hem de sunucunun yanıtı işlemesine yardımcı olur. Bazı yaygın başlık türleri şunlardır:
- Content-Type: Yanıtın içeriğinin türünü (örneğin text/html, application/json) belirtir.
- Content-Length: Yanıtın içeriğinin uzunluğunu bayt cinsinden belirtir.
- Cache-Control: Yanıtın önbelleğe alınma süresini veya önbellekleme davranışını kontrol eder.
- Location: Yönlendirme (redirect) durumlarında yeni konumu belirtir.
Content-Type: text/html; charset=UTF-8
Content-Length: 1234
3. Content (İçerik)
HTTP yanıtının en önemli bileşenlerinden biri içeriğidir. İçerik, istemcinin isteğine yanıt olarak sunucu tarafından gönderilen veridir. İçerik türü, Content-Type başlığı ile belirtilir ve genellikle HTML, JSON, XML gibi formatlarda olabilir.
-
HTML İçerik:
< !DOCTYPE html >
< html>
< head>
< title>Örnek Web Sayfası</title >
< /head>
<body >
<h1 >Merhaba, Dünya!</h1 >
<p >Bu bir örnek web sayfasıdır.</p >
</body >
</html >
-
JSON İçerik:
{
"name": "John Doe",
"age": 30,
"city": "New York"
}
Örnek HTTP Response
Aşağıda bir örnek HTTP yanıtı verilmiştir. Bu yanıt, bir web tarayıcısının bir web sunucusundan bir HTML sayfası istediğinde alınabilecek basit bir yanıtı temsil eder:
HTTP/1.1 200 OK
Date: Thu, 14 Jun 2024 12:00:00 GMT
Server: Apache
Content-Length: 147
Content-Type: text/html; charset=UTF-8
< !DOCTYPE html >
< html>
< head>
< title>Örnek Web Sayfası</title >
< /head>
<body >
<h1 >Merhaba, Dünya!</h1 >
<p >Bu bir örnek web sayfasıdır.</p >
</body >
</html >
Bu örnek yanıtta:
- Status Code:
200 OK
, isteğin başarıyla tamamlandığını belirtir. - Headers:
Date
,Server
,Content-Length
,Content-Type
gibi başlıklar yanıt hakkında ek bilgiler sağlar. - Content: HTML içeriği, tarayıcı tarafından işlenip görüntülenecek web sayfasını içerir.
Bu yapı, HTTP protokolü aracılığıyla istemci ve sunucu arasında iletişimi sağlamanın temel bir parçasıdır ve web uygulamalarının doğru çalışması için kritik öneme sahiptir.
HTTP Requeset Yapısını İncelemek İçin Tıklayın
- Web Yazılım
Tepkini Göster
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
Yorumlar
Sende Yorumunu Ekle