Qual è la differenza tra l'utilizzo di ob_start()
e ob_start('ob_gzhandler')
?
Come influisce sulla velocità della pagina?PHP ob_start() e ob_start ('ob_gzhandler')
risposta
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.
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.
- 1. Comprimere il contenuto con PHP ob_start() vs Apache Deflate/Gzip?
- 2. PHP: <<< vs ob_start
- 3. Attenzione: ob_start() [ref.outcontrol]: trattamento di uscita conflitti 'ob_gzhandler' con compressione zlib uscita'
- 4. Come aggiungere al file usando ob_start
- 5. Uso di include() all'interno di ob_start()
- 6. perché ob_start() deve precedere session_start() per funzionare in PHP?
- 7. Oggetto di classe non funzionante all'interno di callback ob_start
- 8. cosa succede quando uso multi ob_start() senza ob_end_clean() o ob_end_flush()?
- 9. PHP - Invio gzip JS compressi/CSS
- 10. L'ob_start di PHP può essere chiamato più di una volta?
- 11. La codifica gzip è compatibile con JSON?
- 12. Come funzionano le intestazioni con il buffer di output in PHP?
- 13. Compressione e memorizzazione nella cache di CSS con PHP
- 14. PHP flush() non funziona con laravel?
- 15. PHP is_int non funziona come previsto
- 16. Stampa su terminale durante l'utilizzo del buffer di output negli script PHP CLI
- 17. PHP flush stopped flushing in IIS7.5
- 18. Riduci lo spazio bianco iniziale con PHP?
- 19. PHP: invia un popup di avviso quindi reindirizza la pagina
- 20. Streaming output in un file e il browser
- 21. Chiamare lo script Perl da PHP e passare le variabili, usando anche il nome dello script perl variabile
- 22. ob_get_contents + ob_end_clean vs ob_get_clean
- 23. Come comunicare tra php e boost della libreria IPC?
- 24. PHP cURL Authentication Issue
- 25. + .htaccess sgonfiare
- 26. Come determinare la lunghezza del contenuto di un file gzip?
- 27. ob_get_level() inizia a livello 1
- 28. Per php flush - come disabilitare gzip per file specifici?
- 29. CodeIgniter o PHP Equivalent of Rails Partials and Templates
- 30. PHP sputa una nuova riga prima di qualsiasi uscita
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
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