Pergunta

ETags permitir navegadores para executar condicional GETs. Só se o recurso em questão foi alterada será o recurso tem que ser baixado-re. No entanto, o navegador ainda tem que esperar para o servidor para responder ao seu pedido.

Uma alternativa para ETags é introduzir um símbolo para o apontador URL para o recurso:

http://example.com/css/styles.css?token=134124134

ou

http://example.com/css/134124134/styles.css

Ambas as abordagens evitar ter que re-download um recurso inalterados.

No entanto, usando URLs com símbolos permite que o servidor para definir um cabeçalho de expiração far-futuro no recurso. Isso evita que o de ida e volta ocupado por um GET condicional -. Se o recurso está inalterada, em seguida, a URL apontando para ele não será alterada

Existem quaisquer vantagens em usar ETags sobre URLs com símbolos?

Foi útil?

Solução

A principal desvantagem para os recursos só de leitura que eu vejo é que, se todos nós tomamos esta abordagem para todos os recursos estáticos, em seguida, caches cliente iria começar a encher com todos os tipos de recursos fora do prazo de validade.

Além disso, pensar em todas as caches intermediários que iria começar a prender cargas de arquivos inúteis.

Você está lutando contra a web com esta abordagem e se tornou popular, em seguida, algo teria de mudar, porque não é uma solução escalável.

Poderia haver algum tipo de abordagem híbrida onde você usa um conjunto limitado de fichas e definir o termo pequeno o suficiente para que um recurso em cache velha morresse antes da prova foi reutilizado?

Etags também são usados ??para recursos de leitura e escrita e neste caso o suspeito a solução de token simplesmente não funciona.

Outras dicas

Eu acho que a maior diferença / vantagem potencial seria de configuração; A configuração de URL deve ser configurado / configuração no interior da aplicação (por exemplo, o código HTML na verdade deve incluir o valor). ETags são configurados para todo o servidor web, eo HTML não tem que ser modificado para tirar proveito deles.

Além disso, os ETags vai (assumindo que eles estão configurados corretamente) a mudança quando o arquivo apontado para mudanças; Adicionando um token para o URL vai exigir alguma "coisa" adicional que diz que a mudança (seja uma pessoa editar o HTML ou alguma configuração, etc).

Tenha uma constante URI?

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