سؤال

ما الذي يجب أن يفعله عميل HTTP إذا تم إرجاع الخادم Cache-Control: private, public ?

لدي شعور private يجب تجاوز public, ، لكن لا يمكنني العثور على تأكيد في RFC (بخلاف ذلك MUST في private و MAY في public).

هل كانت مفيدة؟

المحلول

من وجهة نظر براغماتية ، تخطئ على جانب الحذر وعلاجها "خاصة".

وبهذه الطريقة ، تتسبب في القليل من حركة الشبكة الإضافية لخادم الرديء ، ولكن الحفاظ على بيانات المستخدم (يحتمل أن يكون خاصًا) آمنًا.

نصائح أخرى

أعتقد http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p6-cache-20.html#rfc.section.3 من الواضح تمامًا - إذا تم تصنيفها "خاصة" ، فيجب اعتبارها خاصة ، بغض النظر عما إذا كانت "عامة" تظهر أيضًا

يتم استخدام التحكم في ذاكرة التخزين المؤقت الخاصة في هذا السياق لتخزين البيانات وتخزينها لجهاز مستخدم واحد وعدم تقديمه مع الشبكة بأكملها.

في حين يتم استخدام التحكم في ذاكرة التخزين المؤقت العامة لتخزين البيانات في جهاز العميل من الخادم ومشاركتها عبر الشبكة التي يتم توصيل جهاز العميل عليها.

يتم استخدام التحكم في ذاكرة التخزين المؤقت الخاصة في هذا السياق لتخزين البيانات وتخزينها لجهاز مستخدم واحد وعدم تقديمه مع الشبكة بأكملها.

في حين يتم استخدام التحكم في ذاكرة التخزين المؤقت العامة لتخزين البيانات في جهاز العميل من الخادم ومشاركتها عبر الشبكة التي يتم توصيل جهاز العميل عليها.

يرجى إحالة المثال أدناه يحتوي على تفاصيل http://www.totalworkflow.co.uk/ استجابة الخادم

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
Set-Cookie: .ASPXANONYMOUS=TV4owqs-zQEkAAAAZmFhNDI5NDQtZmFmMi00Y2Q3LWI4NDctYTE0NDg5MzAwNjg20; expires=Wed, 30-May-2012 21:32:48 GMT; path=/; HttpOnly
Set-Cookie: ASP.NET_SessionId=x12csr3ac4jp03jugqawke2d; path=/; HttpOnly
X-AspNet-Version: 2.0.5072
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top