Domanda

Quando eseguo YSlow contro il mio sito, ho una "F" sulla voce "Configura ETags"; si sostiene che non ci sono etags per molti (tutti?) di mio immagini, fogli di stile, ecc.

Tuttavia, se eseguire il test su una di quelle immagini direttamente, ottengo un A sul test ETAG. Inoltre, sulle intestazioni di risposta del pannello di Firebug Net posso vedere l'etag su questo punto per entrambe le versioni a tutta pagina e-URL diretto.

C'è qualcosa che mi potrebbe fare per causare questo strano comportamento?

(Gli URL sto colpendo sono qui e qui se qualcuno vuole verificare la presenza di se stessi. non mi dispiacerebbe un controllo di integrità per vedere se è solo il mio browser che è confuso.)

È stato utile?

Soluzione

appena provato questo a livello locale con 3,6 FF e YSlow 2.0.3 (versione appena rilasciata) e l'immagine standalone dà un punteggio di "B", citando ETags mal configurati.

L'ETag mostra nell'intestazione, bith nel pannello rete FireBug e nel pannello componenti YSlow.

Ma, questo è in base alla progettazione. Se si guarda a http://developer.yahoo.com/performance/rules.html# etags si vedrà che le eTags predefiniti generati da IIS e Apache non sono ottimali.

Per riferimento, la regola lint effettiva YSlow controlla i seguenti due regex:

  apache_re = new RegExp("^[0-9a-z]+-[0-9a-z]+-[0-9a-z]+$");
  iis_re = new RegExp("^[0-9a-z]+:[0-9a-z]+$");

Altri suggerimenti

La mia risposta, per quanto riguarda IIS 7, è quello di ignorare la raccomandazione di YSlow.

IIS 7 utilizza un numero di cambiamento metabase zero quando si genera l'ETag. Questa è la parte dopo i due punti ... in modo che l'ETAG sarà sempre qualcosa come "5321116d3585ce1: 0"., In cui la prima parte è generato dall'ultima volta file modificato, e poi due punti e il numero di modifica della metabase

A partire con IIS 7, Microsoft ha quel numero il cambiamento a zero per tutto il tempo, così sarà lo stesso anche su più server web. Per IIS 5 e 6, è possibile impostare a zero se si vuole raggiungere lo stesso risultato finale:

http://technet.microsoft.com/en -us / library / ee619764 (WS.10) aspx

Se YSlow è ancora utilizzando una regola regex di iis_re = new RegExp ( "^ [0-9a-z] + [0-9a-z] + $"); , quindi si' re sbagliato, e dovrebbe essere riscritto per accettare l'ETAG come valido se finisce con 0

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top