2012-03-24 4 views
12

Google Chrome 17 ha introdotto un nuovo feature che precarica una pagina Web per migliorare la velocità di rendering al momento di effettuare la richiesta (premendo invio nell'omnibar).Intestazione HTTP per rilevare una richiesta di precarico da Google Chrome

Due domande: C'è un'intestazione HTTP per rilevare tale richiesta sul lato server e se esiste effettivamente qual è la risposta corretta al fine di impedire tale precaricamento (per evitare richieste indesiderate che potrebbero avere effetti indesiderati)?

Google Chrome controlla il file robots.txt prima di effettuare richieste di precarico? Esiste un'impostazione robots.txt che ha come target solo questo comportamento specifico? (Suppongo/spero che non funzioni già).

Esiste un metatag per informare Google Chrome di non eseguire nuovamente il precaricamento sul dominio corrente?

risposta

10

Quando Firefox pre-recupera contenuti (per volere del markup della pagina di provenienza), invia la seguente intestazione con la richiesta: X-moz: prefetch

Safari fa allo stesso modo, utilizzando: X -Scopo: anteprima. Secondo questo biglietto , anche Chrome lo fa.

Per il pre-rendering, Chrome non invia alcuna intestazione di sorta al client . Invece, si deve utilizzare l'API pagina visibilità, in JS

source, additional reading

+0

Da: http://code.google.com/intl/ro-RO/chrome/whitepapers/prerender.html Nota: Chrome non trasmette intestazioni di distinzione quando si verifica il prerendering. Poiché la maggior parte dei prerender si trasforma in visualizzazioni di pagina reali, l'API di visibilità delle pagine è l'unico modo per tenere conto correttamente dei prerender. Quando la pagina viene mostrata all'utente, non vengono inviate nuove richieste da Chrome, sebbene sia possibile creare uno script che utilizza l'API di visibilità della pagina per attivare una nuova richiesta. –

+1

Enfasi su: "Chrome non trasmette intestazioni distintive quando si verifica il prerendering", che praticamente risponde alla mia domanda. Le intestazioni HTTP di prelettura non vengono utilizzate affatto (quando si richiede il corpo). –

+1

Penso che sia necessario chiarire che il pre-rendering e il pre-recupero non sono la stessa cosa. Pre-fetch è attivo per impostazione predefinita nei principali browser e viene sempre indicato da un'intestazione speciale ('X-Purpose: preview' in Chrome). Il pre-rendering è una funzionalità sperimentale di Chrome a cui lo sviluppatore deve partecipare. Non esiste un'intestazione per rilevare il pre-rendering perché lo sviluppatore sa se è stato attivato o meno. – krispy

Problemi correlati