2010-01-10 2 views
1

Je suis à la recherche d'une implémentation de cache pour le composant Indy IdHTTP qui serait utilisé pour vérifier une ressource spécifique déjà mise en cache avant de faire le GET réel et de retourner la ressource mise en cache à la place (si nécessaire)?Est-ce que quelqu'un connaît un composant Cache pour TIdHTTP?

Si le composant est une classe dérivée de TIdHTTP et gère les fonctionnalités de cache automatiquement, ce serait le moyen le plus simple pour moi, donc je pourrais simplement remplacer mes objets IdHTTP existants par le nouveau composant.

Quelqu'un a déjà vu un tel composant pour D2010?

+0

Je ne connais pas pour Indy, mais ALWininetHttpClient utilise le cache de IE si vous ne "" pour pouvoir utiliser Indy. http://sourceforge.net/projects/alcinoe/ – Brad

+0

Dans ce cas, il est plutôt important d'utiliser les composants Indy. L'utilisation pour cela sera pour une solution de test de performance simplifiée qui doit agir comme un navigateur, et Indy offre toutes les autres parties sauf la chose cache ... –

+0

Je viens de trouver que http://sourceforge.net/projects/delphixml- rpc/a une mise en cache de base dans son code, qui utilise Indy. – Brad

Répondre

0

Je ne pense pas qu'il existe un composant pour le faire, mais vous pouvez implémenter le vôtre en fonction de l'en-tête de réponse Cache-Control et Expires-Date (je ne suis pas sûr si c'est le nom corrent). Vous devriez enregistrer la page sur un fichier avec la date Expires dessus, ainsi vous pouvez vérifier si vous avez déjà la page sur le cache avant de faire la demande au serveur. Je suppose que c'est ce que font certains mandataires, comme Squid (bien sûr pas aussi simple que ça).

Check this out: Caching in HTTP

+0

états OP il cherche un cache déjà fait, pas pour conseiller sur la façon de faire son propre système de cache. – jachguate

+0

Je le sais. Je viens de dire qu'il/elle pourrait le faire, car je ne connais pas un composant capable de le faire. –

+0

dans un tel cas, je poste habituellement un commentaire sur la question, parce que je n'ai aucune réponse à poster du tout !, ou peut-être ne rien faire si la question est d'environ 9 mois !!! – jachguate

Questions connexes