REST Nedir?
Yazıda REST nedir ile REST anlatılarak genellikle REST API veya RESTful olarak adlandırılan REST mimarisiyle ilgili bilgilere yer verilmiştir.
REST nedir?
REST REpresentational State Transfer (Temsili Durum Transferi) kısaltmasıdır.
REST, web servis oluşturmak için kullanılan web servis yöntemlerinden birisidir.
REST programlama dilinden bağımsız olarak web servis oluşturmak için kullanılan bir yapıdır.
REST, HTTP protokolüne ait HTTP yöntemlerini ve HTTP durum kodlarını kullanarak gelen isteklere XML, JSON, CSV vb. olarak cevap verir.
REST mimarisinin en önemli özelliği SOAP için kullanımı zorunlu olan WSDL gibi bir tanımlamaya ihtiyaç duymaması ve XML haricinde istenilen biçimde veri alışverişine imkan vermesidir.
REST için herhangi bir kısıtlama yoktur.
Ancak sıklıkla kullanılan ve kalıplaşmış (best practices) kullanımlar vardır.
RESTful nedir?
REST yerine RESTful teriminin kullanılması REST yapısından farklı olduğu izlenimi bırakıyor.
RESTful veya RESTful API, REST mimarisiyle hazırlanmış web servisleridir.
HTTP yöntemleri
HTTP protokolü IETF içinde RFC 2616, RFC 2518, RFC 3253 vb. kurallarla belirlenmiş çeşitli HTTP yöntemlerine sahiptir.
HTTP yöntemleri sunucu ile kullanıcı arasındaki iletişim yöntemini belirtir.
Örneğin; Web tarayıcıdan bir web sayfasına girildiğine GET yöntemi, form ile veri göndermek için POST yöntemi kullanılır.
Aşağıdaki HTTP yöntemleri, yaygın olarak REST tabanlı mimaride kullanılır.
- GET – Veri(leri) almak için kullanılır.
- PUT – Veri(ler) üzerinde değişiklik yapmak için kullanılır.
- DELETE – Veri(leri) silmek için kullanılır.
- POST – Veri göndermek/eklemek için kullanılır.
HTTP durum kodları
HTTP protokolü HTTP yöntemlerinde olduğu gibi çeşitli HTTP durum kodlarına sahiptir.
HTTP durum kodları işlem sonucu ile ilgili bilgi almak için kullanılır.
Örneğin; Web tarayıcıdan herhangi bir siteye ait web sayfasına girildiğine HTTP durum kodu 200 olacaktır. Web sayfası veya dosya sitede yoksa HTTP durum kodu 404 olacaktır.
Aşağıdaki HTTP durum kodları, yaygın olarak REST tabanlı mimaride kullanılır.
- 200 OK – İşlem başarıyla gerçekleşirse kullanılır.
- 201 CREATED – İşlemi başarıyla gerçekleşirse kullanılır. Eklenen veri döndürülür.
- 204 NO CONTENT – İşlemi başarıyla gerçekleşirse kullanılır. Eklenen, silinen veri döndürülmez.
- 400 BAD REQUEST – Hatalı istek veya yetkilendirme hatası için kullanılır.
- 401 UNAUTHORIZED – Yetkilendirme hatası için kullanılır.
- 403 FORBIDDEN – Yetkilendirme ve erişim hatası için kullanılır.
- 404 NOT FOUND – İstenilen işlem yoksa kullanılır.
- 405 METHOD NOT ALLOWED – İzin verilmeyen HTTP yöntemi kullanıldığında bilgi vermek için kullanılır.
- 409 CONFLICT – Aynı veri üzerinde birden fazla kişinin işlem yaptığını bildirmek için kullanılır.
- 500 INTERNAL SERVER ERROR – Sunucuda herhangi bir hata olduğunda kullanılır.
REST ile web servis geliştirirken sıklıkla kullanılan HTTP yöntemleri ve HTTP durum kodlarını kullanmak faydalı olacaktır.
REST API ile hazırlanmış web servislerinde çıktı biçimi olarak genellikle JSON kullanılır.
Web Servis Derslerine buradan ulaşabilirsiniz…
Hayırlı günler dilerim.