Pergunta

trabalhando em um projeto em AS3 Eu exijo para transmitir alguns arquivos para fins de largura de banda testando. As necessidades arquivos vir do CDN (a clientes de proxy mais próximo), a fim de fazer o teste de largura de banda confiável.

É claro que se os arquivos remotos se em cache no navegador clientes o teste da largura de banda não seria confiável.

Normalmente eu gostaria de acrescentar um carimbo de tempo nas variáveis ??GET, a fim de enganar o cache de clientes. Mas posso imaginar que este é um trabalho prática muito ruim com um CDN.

Então, minha pergunta é:

como forçar desvio os clientes de cache para recuperar uma nova versão de um arquivo sem realmente mudando o pedido?

Agradecemos antecipadamente,

T

EDIT:

O ideal seria enviar um cabeçalho de controle de cache em URLRequest (graças Assaf!). Infelizmente eu fui tentando com isso por um tempo e não parecem trabalhar dentro FlashPlayer. Mesmo na web, as pessoas parece ser pessimista sobre o assunto.

exemplo rápido:

var headers:Array = new Array(new URLRequestHeader("Cache-Control", "no-cache"));
urlRequest.requestHeaders = headers;
urlRequest.load(url);

Alguém já conseguiu fazer algo semelhante ao trabalho?

Foi útil?

Solução

A maneira correta de fazê-lo é especificar o cache HTTP cabeçalhos de controle em sua solicitação, ou a configuração não-cache no servidor.

Se você tem controle sobre o servidor você pode especificar Pragma no-cache, ou algo equivalente, de modo que determinados arquivos são não em cache.

O timestamp não é de fato tal uma boa idéia, porque pode estragar com todos os tipos de caches ao longo do caminho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top