2010-11-26 38 views
0

Je voudrais remplacer les recherches Etag, car apparemment, elles ralentissent une page car la latence de chaque requête est assez importante!Substituer les recherches ETag?

Expires têtes ne semblent pas faire l'affaire ...

des idées?

+1

Comment imaginez-vous que c'est la faute de ETags? – deceze

+0

Je ne sais pas pourquoi il fait toujours les recherches ... J'ai donné tous les fichiers Expires Headers !!! :( – RadiantHex

Répondre

0

Dans l'objet de réponse de la vue, vous pouvez définir ETag comme vous le souhaitez. Cela nécessite que vous utilisez CommonMiddleware et USE_ETAGS est défini sur True.

Cependant, si ce que vous voulez vraiment faire est de ne pas appeler du tout la vue, pourquoi n'utilisez-vous pas simplement les décorateurs de cache et mettez en cache le résultat?

The code for etag handling.

0

Je voudrais que les gens poser des questions indiquant la version de apache ils sont en cours d'exécution. Cela peut devenir confus assez rapidement. Regardez la directive FileETag (au moins pour Apache 2.0 et 2.2).

FileETag aucun // ne génère pas et ETag pour un fichier

Voir FileETag

+0

Il n'y a rien qui implique qu'il utilise Apache – knutin

+0

Sauf qu'il l'a tagué Apache: P – Rahly

0

chaque demande est assez grande!

Sauf si vous avez des patchs personnalisés vraiment géniaux sur votre installation apache ou un système de fichiers très étrange, l'effort de générer un ETAG ne dépend pas de la taille du fichier - par défaut Apache utilise le numéro d'inode, mod heure et taille.

Généralement, les requêtes conditionnelles peuvent ralentir considérablement un site - et devraient être évitées (préférable en supprimant l'en-tête de requête if-none-match/if-modified-since). La seule fois où ce n'est pas le cas, c'est lorsque vous publiez des fichiers très volumineux (par exemple, des vidéos, des fichiers PDF). Si vous ne pouvez pas modifier les en-têtes de la demande (par exemple, en utilisant Apache < 2.0), vous devrez supprimer à la fois le ETag et le dernier modifié de la réponse, ou actualiser régulièrement les horodatages de vos fichiers. L'en-tête 'Expires' est une directive HTTP/1.0 - il y a très peu de trafic HTTP/1.0 - le peu qui provient généralement de navigateurs MSIE6 mal configurés utilisant un proxy). Vous devriez envoyer des en-têtes Cache-Control.