14 Mayıs 2021 Cuma
Sunuculardaki Koşullu PUT İstekleri
3 Nisan 2021 Cumartesi
RestFull Web Service Sunucular Arasında İşlemler Nasıl Desteklenir
Sunucu sınırlarını aşan işlemlerin nasıl destekleneceği hakkında kısa bilgi paylaşımıdır. Örneklerde; bir kullanıcı profilini bir uygulamadan diğerine taşımayı özetleri içe aktarmayı içerir. Bir müşteri ilişkileri yönetimi uygulamasında beklenen tekliflerin, taslak sunucudan üretim sunucusundaki belgeler gönderimi. Bu kullanım durumunda birden çok sunucu durumunun değişmesine ihtiyaç doğuyor. İki veya daha fazla sunucu üzerinde içerik işlemlerinin nasıl değişeceğine küçük örnek ile bakacağız.
Sunucular arası operasyonun tasarlamak ve uygulamak için sunucuların birbirleriyle işbirliği yapmasına öncelikle izin verilmeli. (cross-server operations) Bunlar veri formatlar, arka uç ara yüzleri mutabakat sağlayan sunucuları içerebilir. Veri deposundan veri yükleme, onu karşılamak için normalleştirme işlemleri, diğer sunucu biçimleri ve ardından saklanması adımları.
Sunucu sınırlarını aşan işlemlerle karşılaşıldığında endişelerin ayrılması gerekir.
Kişi listesini dışa aktarmak için bir bağlantıyla birlikte bir kullanıcının kişi listesini temsili mesajlaşma web hizmeti:
# Request
GET /user/smith/contacts HTTP/1.1
Host: contacts.example1.org
# Response
HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8
<contacts xmlns:atom="http://www.w3.org/2005/Atom">
<atom:link rel="self" href="http://contacts.example2.org/user/smith/contacts"/>
<atom:link rel="http://contacts.example1.org/rels/export-to-messaging"
href="http://messaging.example2.org/user/smith/import;
t=bcb9169866c69410be37f68210a6986c"
title="Export contacts into to messaging."/>
<contact>
...
</contact>
...
</contact>
title="Export contacts into to messaging."/> > Bir sunucudan diğerine veri aktarmak için bir URl ile bağlantı kurun.
http://contacts.example2.org/rels/export-to-messaging > anlamı: con ilişki türü ile anlayan bir istemci http://tacts.example2.org/rels/export-to-messaging > dışa aktarma işlemini başlatabilir. Bu bağlantı ilişkisi türünü dökümantasyonunu müşterinin yapması gerektiğini söylediğini varsayalım.
Kişileri mesaj hizmetine aktarmak için bağlantının URl bir POST isteği gönderin. Bağlantının URl yetkisiz kullanımı önlemek için bir güvenlik anahtarı içerir.
# Request
POST /user/smith/import;t=bcb9169866c69410be37f68210a6986c HTTP/1.1
Host: messaging.example2.org
# Response
HTTP/1.1 303 See Other
Location: http://messaging.example2.org/user/smith
Content-Type: application/xml;charset=UTF-8
13 Mart 2021 Cumartesi
URL lerdeki Hasas Bilgiler
URL lerdeki veriler gizliyse AES, Blowfish veri algoritmalarını şifreleyin. DES, Triple DES, Serpent, Twofish v.b URL dahil olan sonucu Base64 olarak kodladığınızdan emin olun.
Örnekte; Sigorta teklif örneğinde; sunucu gösterimindeki bir bağlantıda bir alıntı yayınlamak için kullanılan verileri kodlar. Teklife göre sigorta satın almak için bağlantıyı kullanır.
# Request
GET /quotegen?fname=...&lname=...&... HTTP/1.1
Host: www.example.org
# Response
HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8
<quote xmlns:atom="http://www.w3.org/2005/Atom">
<driver>
...
</driver>
<vehicle>
...
</vehicle>
<offer>
...
<valid-until>2009-08-02</valid-until>
<atom:link href="http://www.example.org/quotes/buy?fname=...&lname=...&..."
rel="http://www.example.org/quotes/buy"/>
</offer>
</quote>
Bağlantıda kullanılan URL deki kodlanan durum kurcalamaya eğimlidir. Bunu önlemek için sunucu teklif oluşturmak için kullanılan tüm önemli parametrelerin imzasını içerebilir.
http://www.example.org/quotes/buy?fname=...&lname=...&...&sign=f5b244520c2a452a0ee8c8b6ab5b6828317d2f7f


