2015-03-03 21 views
8

Authorization üstbilgisini içeren bir web sunucusundan alınan yanıt, OAuth özelliklerine göre HTTP önbellekleme yararlı olmaz mı? Bu durumda, ikinci isteği önbelleğe alan HTTP, ilk kullanıcı için önbelleğe alınan yanıtı döndürür. Bu, kullanıcılar genelinde genel olan içerik için bir sorun değildir, ancak paylaşılan bir önbellek diğer kullanıcılar için yanıtlar sağlamakta bu yanlıştır.Yetkilendirmeli HTTP Önbelleğe Alma

Benzer şekilde, bir Vary üstbilgisini kullanıp Authorization'a göre değişirsek, bu, önbellekimizin HTTP önbellekleme amacını kesinlikle ortadan kaldıran önbellek başına bir önbellek depolayacağı anlamına gelir. Tarayıcıların yerel önbelleği (özel) iyi çalışır, ancak bu her kullanıcı için oturum başına en az bir kez bir başlangıç ​​isteği anlamına gelir.

Düzenleme

söz konusu hizmet ancak, Yetkilendirme başlıklarını içerir bir Paylaşılan önbellekten yanıtları hizmet veren mutlaka revalidate sürece yapılmamalıdır okuduklarıma dayanarak, tüm istekler için Yetkilendirme gerektirir kamu ve s-maxage mevcut.

Bu nedenle, hem genel (hem de tüm kullanıcılar için aynı yanıtlar) ve kullanıcıya özel yanıtları olan bir API'nın verilip verilmediğine bakılmalı mıyım? S-maxage ve public üstbilgileriyle birlikte bir yetkilendirme üstbilgisine sahip olmak, önbelleğin UserA'nın UserC, UserC'ye ve RFC'yi doğru bir şekilde izliyorsam yanıtını çözeceği anlamına gelir.

+0

Artık yetkili kaynakları nasıl önbelleğe aldığınızı nasıl günceller misiniz? – Lijo

cevap

4

http://greenbytes.de/tech/webdav/rfc7234.html#response.cacheability bakınız:

"Bir önbellek sürece, herhangi bir isteğine yanıt saklamak ZORUNLU: ... Yetkilendirme başlık alanı istek yöntemi önbellek tarafından anlaşılır ve ön belleğe alınabilir olarak tanımlanır ve ([RFC7235] 'nin Bölüm 4.2' sine bakın, talepte görünmüyor ... "

+0

Kafam karıştı. Bkz. Http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.8 point 1. Önbellek ayarlarının kullanılması s-max-age, maksimum yaş ile birlikte ayarlanır. – Finglas

+1

RFC 2616 kullanımdan kaldırılmıştır. Lütfen Bölüm 3'ün tamamını, özellikle 3.2'yi okuyun. –

+0

@Julian için teşekkürler. Sorunu, bu çalışmanın nasıl yapıldığına dair% 100 açık olmadığımdan daha spesifik olmak için güncelledim. – Finglas

İlgili konular