Ben benim web siteleri için kullanmak istediğiniz bir depolama ağı için kavramını tasarlama.
Amazon s3, ama benim kendi sunucularını kullanmak istiyorsanız gibi onun temelde bir şey.
Orada balans malzeme vb yapmak için hala çok ama ne şu anda beni rahatsız Yükle api.
Ben şu düşündüm:
Benim web siteleri kullanıcı form yükleme doğrudan benim depolama ağı içinde sunuculardan birine gidelim edebilmek istiyorum. Web sunucu üzerinde herhangi bir geçici tasarrufu, bu daha fazla trafik ve yük olur.
Dosyalar istemci kimliği (web sitesi olan) ve (web sitesi değil, depolama, ağ dosya id) bir dosya id tarafından erişilebilir olmalıdır.
Tabii yükleme işlemi güvenli olması gerekir.
Düşüncelerim şunlardır:
Bir API çağrısı web sitesi kullanarak ücretsiz yükleme sunucusu alır. Olduğunu varsayalım http://upload2.cdn.example/
Yükleme formu url için bir dosya (sadece 1!) Göndermek için oluşturulur http://upload2.cdn.example/?return=urlencoded-return-url
Başarılı upload dosya kaydedilir ve depolama ağı (CDNID) bir iç id alır. Yükleme kullanıcı veya yükleme sonrası isteği CDNID içeren bir url tutan bir url param tarafından genişletilmiş dönüş URL, geri yönlendirilir. Ayrıca yönlendirme için CDNID belge vücutta bulunur. Yani hiçbir yönlendirme (örneğin dahili API kullanırken) gereklidir.
Web sitesi daha sonra iç kimlikleri ve client id sonrası parametreleri ile url ister. CDNID sayısal ve yükselen ama tahmin edemez güvenli bir şey değildir.
CDN sunucu web istemci kimliği ve web siteleri dosya id ayarlar ve bir başarı kodu döndürür. Başarı kodu döndürülür değilse başka bir kod olabilir. (Vb, çoğaltmak, Dosya bulunamadı)
CDN otomatik olarak bir süre sonra istemci / dosya id ile güncel olmayan dosyaları siler.
Bu konuda ne düşünüyorsun?
Ben düşündüm alternatif bir güvenli belirteci kullanarak istekleri imzalamak veya authenticiation sindirmek olacaktır. Yani yükleme sonrası istekleri her iki tarafta saklanan bir belirteci ile doğrulanmış verileri içerir.
Başka bir fikir CDN sunucularından web sitesine verilen bir arka plan isteği oldu ...