Usando o CDN como o Cloudflare com mod_rewrite para economizar largura de banda

3

Eu sei que CDNs como o Cloudflare economizam largura de banda armazenando em cache arquivos estáticos como imagens, arquivos JS e CSS.

Eu tenho um script que gera imagens em tempo real e sua localização é algo como isto:

http://domain.com/image.php?id=1

Com id sendo o ID da imagem. O Cloudflare não armazenará essas imagens em cache devido ao URL dinâmico. Se eu adicionar uma regra de reconfiguração mod para reescrever a URL para se tornar algo como:

http://domain.com/images/1

ou

http://domain.com/images/1.jpg

O CloudFlare armazenará em cache as imagens neste caso ou as imagens terão que ser arquivos reais que residem em diretórios?

    
por Michael Samuel 25.07.2016 / 11:48

2 respostas

4

A maneira mais fácil de armazenar tudo em cache em um determinado endpoint no CloudFlare é usar um Cache tudo página regra , um asterisco irá coincidir com um resultado curinga. Então, no seu primeiro exemplo, podemos fazer o seguinte:

CacheEverythingsópodeserhabilitadousandoumaregradepágina,entãooexemploacimaserámelhornamaioriadoscasos,mastambémépossíveldefinirumaregrageralnoCloudFlaresobrecomoasstringsdeconsultasãotratadas.

Vocêpodefazerissoglobalmentenaguia"Cache" do seu painel CloudFlare; por padrão, a opção Padrão armazenará em cache o recurso conforme variado pela string de consulta.

    
por 25.07.2016 / 15:33
3

Vou começar a partir do final da sua pergunta e subir o meu caminho. Então, primeiro de tudo, não há maneira de proxy (Cloudflare age como um) para distinguir entre o conteúdo estático e aquele gerado na mosca, as respostas são praticamente idênticas. A única diferença pode ser a extensão do arquivo solicitado e de acordo com a regra de cache enviada pelo seu servidor. O Cloudflare por padrão armazena em cache apenas arquivos com certas extensões .

Dito isto, sim, ambos os seus exemplos serão armazenados em cache pela Cloudflare ( a menos que o cabeçalho Cache-Control esteja definido como" private "," no-store "," no-cache "ou" max-age = 0 ", ou se houver um cookie na resposta).

A outra coisa é que, por padrão, os caches da Cloudflare até solicitam com strings de consulta . Ele fornece um recurso diferente toda vez que a string de consulta é alterada. Não há problema em usar strings de consulta, desde que a extensão esteja correta ou a regra de página especifique explicitamente para armazenar em cache, independentemente da extensão.

    
por 25.07.2016 / 15:18