2012-05-16 8 views

risposta

10

Ciò non influisce sulla velocità della pagina nel senso in cui si potrebbe pensare.

il è una funzione di richiamata che preleva i contenuti dal buffer di output e comprime i dati prima di emetterli.

Questo riduce la dimensione del contenuto inviato al browser che potrebbe velocizzare il trasferimento di contenuto al client. Ma non velocizza la tua applicazione/sito web.

+0

Se una pagina utilizza ob_start ('ob_gzhandler') che accelera il trasferimento del contenuto al client, penso che questo buffering possa velocizzare anche il rendering della pagina. – Sithu

+2

Queste due cose non sono correlate tra loro. Il rendering della pagina dipende dall'hardware del client. Non importa se posso avere il contenuto in 1 secondo se il rendering richiede 3 secondi. Devi ancora recuperare il contenuto prima di poter eseguire il rendering di qualsiasi cosa. – Repox

4

Avevo bisogno di forzare gzip per alcune pagine di amministrazione (complete di complicate tabelle HTML) che non venivano automaticamente compresse per alcuni client, quindi ho aggiunto questo metodo. Non sono sicuro che lo forzerei per ogni pagina, ma almeno le pagine di amministrazione vanno bene.

function force_gzip() 
{ 
    // Ensures only forced if the Accept-Encoding header contains "gzip" 
    if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) 
    { 
     header('Content-Encoding: gzip'); 
     ob_start('ob_gzhandler'); 
    } 
} 

950KB di HTML è stato compresso in giù circa 80KB con una conseguente velocità 5-10x aumentando il caricamento della pagina.

Problemi correlati