2010-03-16 5 views
3

Est-ce que quelqu'un sait comment modifier les paramètres weblogic pour définir l'en-tête de cache HTTP à une date ultérieure?Paramètres d'en-têtes de mise en cache HTTP weblogic

Par exemple, dans ma configuration actuelle, weblogic définit les en-têtes de cache HTTP pour qu'ils expirent dans 5 heures (en réponse à HTTP/1.1 304 non modifié).

Ceci est la valeur de l'en-tête du cache sur un fichier .gif ... Date: Mar, 16 Mar 2010 20:39:13 GMT.

J'ai re-vérifié et c'est toujours 5 heures. Il doit y avoir quelques paramètres que je peux modifier pour le changer.

Merci pour votre temps!

+1

Avez-vous un serveur Web dans votre configuration? Idéalement, toutes les images doivent être diffusées sur le serveur Web et non sur Weblogic. Vous pouvez définir les en-têtes sur le serveur Web. – JoseK

+0

Non, toutes les applications ici sont déployées en tant que fichiers WAR sur weblogic malheureusement. – CoolBeans

Répondre

1

Le contenu statique est servi par un weblogic.servlet.FileServlet que toutes les applications Web ont by default mais je n'ai trouvé aucun moyen de configurer les en-têtes HTTP. Remplacez donc ce servlet par votre propre servlet ou utilisez un Filter. Mais le commentaire ci-dessus est juste, l'utilisation d'un serveur web pour servir du contenu statique est la bonne façon de procéder: un serveur web fait un meilleur travail et le serveur d'applications a autre chose à faire que de servir des fichiers statiques .

+0

Oui, je suis d'accord, mais je n'ai aucun contrôle sur cela. J'ai pensé utiliser un filtre et je suppose que c'est la seule façon de le faire. Merci! – CoolBeans

+0

@ js82 Vous êtes les bienvenus (la remarque sur le serveur web était plus pour les archives, j'ai compris que vous ne contrôlez pas cela). –

+0

Que diriez-vous d'une solution de contournement incorrecte utilisant les en-têtes HTTP META pour Expires? L'inconvénient est que cela cache aussi vos JSPs – JoseK

4

Vous pouvez utiliser cette propriété:

<wls:container-descriptor> 

    <wls:resource-reload-check-secs>-1</wls:resource-reload-check-secs> 

    </wls:container-descriptor> 

L'élément est utilisé pour effectuer la mise en cache des métadonnées pour les ressources mises en cache qui se trouvent dans le chemin des ressources dans le champ d'application Web. Ce paramètre identifie la fréquence à laquelle WebLogic Server vérifie si une ressource a été modifiée et, le cas échéant, la recharge.

La valeur -1 signifie que les métadonnées sont mises en mémoire cache mais ne sont jamais vérifiées sur le disque à la recherche de modifications. Dans un environnement de production, cette valeur est recommandée pour de meilleures performances.

+0

Merci beaucoup pour votre réponse +1 – CoolBeans