Takip et

HTTP Kodları: Java ile Web Servisleri Anlamak

HTTP Kodları: Java ile Web Servisleri Anlamak

Web servisleri ile etkileşimde bulunurken, sunucunun bize ne söylediğini anlamak çok önemlidir. Bunu anlamak için HTTP durum kodlarını kullanırız. HTTP durum kodları, sunucunun istemciye gönderdiği üç haneli sayısal kodlardır ve istemci talebinin sonucu hakkında bilgi verir. Bu yazıda, Java programcılarının sıkça karşılaştığı HTTP kodlarını ve bunların anlamlarını açıklayacağız. Her HTTP durum kodunun, başarılı, yönlendirilmiş veya hata durumunu belirten farklı anlamları vardır.

Başarılı Durum Kodları

Sunucu talebi başarıyla işledi ise, başarılı durum kodları gönderilir. En yaygın başarılı durum kodları şunlardır:

200 OK

İstemci talebi başarıyla tamamlandı ve sunucu istenen bilgiyi gönderdi.

201 Created

Sunucu yeni bir kaynak oluşturdu ve isteğe cevap olarak kaynak URL’sini gönderdi.

202 Accepted

Sunucu talebi kabul etti, ancak henüz işlemedi.

204 No Content

Sunucu talebi başarıyla işledi ancak herhangi bir içerik göndermedi.

Yönlendirme Durum Kodları

Yönlendirme durum kodları, istemciyi farklı bir URL’ye yönlendirmek için kullanılır.

301 Moved Permanently

İstenen kaynak kalıcı olarak yeni bir URL’ye taşındı. Tarayıcılar gelecekteki istekler için yeni URL’yi kullanacaklar.

302 Found

İstenen kaynak geçici olarak yeni bir URL’ye taşındı. Tarayıcılar sonraki istekler için orijinal URL’yi kullanmaya devam edecekler.

304 Not Modified

Sunucu kaynak değişmediği için yeni bir içerik göndermeyecek. İstemci tarayıcısındaki önbellekteki sürümü kullanabilir.

Hata Durum Kodları

Sunucu talebi işleyemediğinde, hata durum kodları gönderilir.

400 Bad Request

İstemci tarafından yapılan istek geçersizdir. Örneğin, eksik veya yanlış parametreler olabilir.

401 Unauthorized

İstemci sunucu kaynaklarına erişmek için yetkili değil.

403 Forbidden

İstemcinin sunucu kaynaklarına erişmesine izin verilmiyor, ancak yetkilendirme hatası olmadığı için yetkilendirme ile ilgili değil.

404 Not Found

İstenen kaynak sunucuda bulunamadı.

405 Method Not Allowed

Sunucu belirtilen HTTP yöntemini desteklemiyor.

408 Request Timeout

Sunucu, istemciden zaman aşımı süresi içinde yanıt almayı bekledi.

429 Too Many Requests

İstemci çok fazla istek gönderdi.

500 Internal Server Error

Sunucuda beklenmedik bir hata oluştu.

502 Bad Gateway

Sunucu, başka bir sunucuya talep iletemedi.

503 Service Unavailable

Sunucu geçici olarak kullanılamıyor.

504 Gateway Timeout

Sunucu başka bir sunucudan zaman aşımı süresi içinde yanıt almayı bekledi.

HTTP Kodları ile Java Programlama

Java programcıları, HTTP kodlarını kullanarak web servisleriyle etkileşim kurmak için çeşitli kütüphaneler ve framework’ler kullanabilir. Bunlardan en yaygın olanları şunlardır:

Apache HttpComponents

Apache HttpComponents, Java’da HTTP istekleri göndermek ve yanıtları almak için kullanılan popüler bir kütüphanedir. HttpComponents’in kullanımı oldukça basittir. Bir HTTP istek nesnesi oluşturur, HTTP yöntemini, URL’yi ve diğer istek başlıklarını ayarlayabilir ve daha sonra isteği göndermek için bir HttpClient nesnesi kullanabilirsiniz. Yanıt nesnesi, istemciye gelen HTTP durum kodu, yanıt başlıkları ve yanıt gövdesi bilgilerini içerir.

OkHttp

OkHttp, performansı ve güvenliği göz önünde bulundurarak tasarlanmış başka bir popüler HTTP istemci kütüphanesidir. OkHttp, HTTP istekleri göndermek ve yanıtları almak için bir API sağlar. OkHttp, bağlantı havuzlama, isteğe bağlı yönlendirme, önbellekleme ve HTTP/2 ve SPDY desteği gibi özellikler sunar.

Spring Web

Spring Web, web uygulamaları geliştirmek için kullanılan bir Java framework’üdür. Spring Web, HTTP isteklerini işlemek için bir controller katmanı ve RESTful web hizmetleri oluşturmak için bir RestController katmanı sağlar. Spring, HTTP durum kodlarını otomatik olarak işleyerek geliştiricilerin web servislerini oluşturmayı kolaylaştırır.

Örnek: HTTP Kodlarını Kullanarak Web Servisleri Anlamak

Aşağıdaki Java kodu, bir web servisinden verileri almak için OkHttp kullanır ve gelen HTTP durum kodunu gösterir:

“`java
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class HttpCodeExample {

public static void main(String[] args) throws Exception {

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
.url(“https://fatihsoysal.com”)
.build();

try (Response response = client.newCall(request).execute()) {

if (response.isSuccessful()) {
System.out.println(“Başarılı! Durum kodu: ” + response.code());
} else {
System.out.println(“Hata! Durum kodu: ” + response.code());
}

}
}
}
“`

Yukarıdaki kod, OkHttp kütüphanesini kullanarak fatihsoysal.com adresinden verileri alır ve gelen HTTP durum kodunu yazdırır. Eğer istek başarılı olursa, “Başarılı! Durum kodu: 200” çıktısını alırız. Eğer istek başarısız olursa, “Hata! Durum kodu: 404” gibi bir hata mesajı alırız.

Özet

HTTP durum kodları, Java programcılarının web servisleri ile etkileşimde bulunurken sunucu yanıtlarını anlamaları için çok önemlidir. Bu durum kodlarını anlayarak, web servisleri ile sorunsuz bir şekilde etkileşim kurabilir ve uygulamaları daha güvenilir ve sağlam hale getirebilirsiniz.

#Etiketler

#HTTP #Java #WebServisleri #DurumKodları #OkHttp #Spring #ApacheHttpComponents #Geliştirme #Programlama #FatihSoysal #fatihsoysal.com

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.