C'est une assez longue question, alors soyez indulgent avec moi.
Je voulais souligner mon serveur Akamai connecté depuis une instance AWS. J'ai donc commencé à utiliser ab benchmark. Cependant, ils semblaient ridiculement rapides pour télécharger ~ 3 Mo de fichiers vidéo. Naturellement, je voulais voir ce qui se passait. Voici ce que j'ai fait pour obtenir le fichier
curl -v -o/dev/null
Ce qui précède s'est terminé en ~ 5 secondes.
Ensuite, j'ai exécuté à nouveau la même commande. Cette fois, elle s'est terminée en ~ 200 ms! Naturellement, mon intuition dit que le fichier est mis en cache quelque part.
Mes questions:
Merci, Akshay
Le client curl ne met pas les fichiers en cache, mais le réseau du serveur distant pourrait bien l'être. Essayez d'ajouter une variable de chaîne de requête arbitraire à l'URL pour voir si vous pouvez la reproduire.
Tardivement, essayez:
curl -v -H "Cache-Control: no-cache"
Cela indiquera au serveur Web de ne pas mettre en cache. N'arrête pas les couches en dessous de la mise en cache, sauf s'il est codé pour obéir aux en-têtes.
Vous pouvez utiliser ajouter une chaîne de requête aléatoire en utilisant le $RANDOM
variable d'environnement:
curl --location --silent "https://git.io/lsf-e2e?$RANDOM"
Cela a fonctionné pour moi sur les fichiers bruts github.
J'ai utilisé cette commande curl avec un paramètre cache buster.
curl http://example.com/static/changing_file?_=$(date +%s)
date +%s
affiche les secondes depuis l'Époque, si vous appelez l'URL plus d'une fois par seconde, utilisez date +%s.%N
à ajouter en nanosecondes.