O cliente de curl não está armazenando arquivos em cache, mas a rede do servidor remoto pode estar bem. Tente adicionar uma variável de string de consulta arbitrária à URL para ver se você consegue reproduzi-la.
Essa é uma pergunta bem longa, então fique de olho em mim.
Eu queria enfatizar o meu Akamai Server logado de uma instância do AWS. Então, comecei a executar um benchmark ab. No entanto, eles pareciam ridiculamente rápidos para baixar ~ 3 arquivos de vídeo MB. Naturalmente eu queria ver o que está acontecendo. Isto é o que eu fiz para obter o arquivo
curl -v -o /dev/null
O acima foi concluído em ~ 5 segundos.
Em seguida, eu corri o mesmo comando novamente. Desta vez, completou em ~ 200ms! Naturalmente, minha intuição diz que o arquivo está sendo armazenado em algum lugar.
Minhas perguntas:
Obrigado Akshay
Tardiamente, tente:
curl -v -H "Cache-Control: no-cache"
Isso dirá ao servidor da Web para não armazenar em cache. Não pára as camadas abaixo do cache, a menos que seja codificado para obedecer aos cabeçalhos.
Eu usei este comando curl com um parâmetro de cache buster.
curl http://example.com/static/changing_file?_=$(date +%s)
date +%s
imprime os segundos desde a época, se você chamar a URL mais de uma vez por segundo, use date +%s.%N
para adicionar em nanossegundos.
Você pode adicionar uma seqüência de consulta aleatória usando a variável de ambiente $RANDOM
:
curl --location --silent "https://git.io/lsf-e2e?$RANDOM"
Isso funcionou para mim nos arquivos raw do github.
Talvez seu dns esteja armazenando em cache a resolução do nome e essa é a razão da diferença no tempo de resposta.
É apenas uma teoria.
Tags cache curl ubuntu-14.04 cdn ab