سؤال

لقد أعيد ما يلي من طريقة @جيرسي. إنه يعمل بشكل جيد ولكنه يشمل دائمًا رأس عدم التآكل. أرغب في السماح للعميل بتخزين هذه البيانات لأنها نادراً ما تتغير.

ResponseBuilder rb = Response.ok(c);
    CacheControl cc = new CacheControl();
    cc.setMaxAge(60);
    cc.setNoCache(false);
    return rb.cacheControl(cc).build();

الاستجابة دائما:

 Server Apache-Coyote/1.1
 Pragma No-cache
 Cache-Control  no-cache, no-transform, max-age=60
 Expires    Wed, 31 Dec 1969 19:00:00 EST
 Content-Type   application/xml
 Content-Length 291
 Date   Tue, 16 Feb 2010 01:54:02 GMT

هذا خطأ هنا؟

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

المحلول

كان هذا بسبب تشغيل المصادقة الأساسية.

سيؤدي تحديد هذا في السياق إلى تصحيح المشكلة:

<Valve className="org.apache.catalina.authenticator.BasicAuthenticator"
       disableProxyCaching="false" />

آمل أن يساعد هذا شخص آخر.

نصائح أخرى

الرمز الخاص بك يبدو بخير.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top