[Compressione Gzip] Come gzippare i file .js e i file css?

Buongiorno e buon inizio settimana a tutti!

Allora ragazzi, avengo un sito in hosting su Aruba...e...su server Windows.........................venni a conoscenza del fatto di NON poter gzippare i miei file....fintantochè...

...decisi di impostare localmente le variabili del php.ini locale su ON:

zlib.output_compression =   On (Local)   Off (Master)

zlib.output_compression_level =   6 (Local)   -1 (Master)

zlib.output_handler =   no value (Local)   no value (Master)

Ergo, il problema dell'invio da parte del server al client dei contenuti gzippati...è risolto.

Ma...

...come faccio a gzippare anche i file javascript (libreria jquery, ecc..) e i file css che contengono un ingente numero di righe e di caratteri per definire grafica, ecc. ????

Grazie a tutti.

 ;)

inviato 5 anni fa
wartpro
X 0 X

Temo non puoi farci niente...il server è IIS, non si modifica con file di configurazione come gli htaccess di Apache.

Cambia server, per carità, fa una cosa buona: passa a Linux.

risposto 5 anni fa
Mario Santagiuliana
X 0 X

Mmmmh..lo sò lo sò..al rinnovo lo farò  :buck: ..ero un piccolo nuovo neofita web designer/developer indifeso quando mi sono assicurato il dominio  :'(

..ora sto crescendo  ;)

..MA..non è possibile neanche ottenere una compressione attraverso uno script php creato appositamente?

Proprio ora stavo leggendo questo:

http://flwcreative.ilbello.com/index.php?option=com_content&view=article&id=75:ottimizzazione-javascript-e-performance-del-sito&catid=111:news-flw

[vai in fondo alla pagina, dove parla della classe Php che dovrebbe comprimere i file .js e .css]

..che ne pensi?

Grazie mille!

risposto 5 anni fa
wartpro
X 0 X

Quello può essere un buon metodo.

Dovrai però richiamare il file php per i file javascript.

Sarebbe più semplice usare apache... :)

Ciao

risposto 5 anni fa
Mario Santagiuliana
X 0 X

Eh lo so caro Mario...me ne sono reso conto  :-\

Ad ogni modo....ho trovato la soluzione!! Colgo l'occasione per condividerla.

Premesso che si abbiano le impostazioni sulla questione ZLIB come riportato all'apertura del thread...la soluzione adottata è la seguente:

File grafica-pagina.css . Il seguente file, in questo caso, verrà salvato come grafica-pagina.php

<?php

header("Content-type: text/css; charset: UTF-8"); 
header("Cache-Control: must-revalidate"); 
$scadenza = 60 * 60 ; 
$str_scadenza = "Expires: " .  gmdate("D, d M Y H:i:s", time() + $scadenza) . " GMT"; 
header($str_scadenza);

?>

body {
background-color:#fff;
bla e bla e bla;
}

/* resto del contenuto del file .css */

Avendo impostato il file .css ..che ora è php..passiamo alla pagina html..

Pagina index.php

<?php

include("il file che imposta zlib.xxx_xxx & company come riportato sopra");

?>

<html>
 <head>

   <link rel="stylesheet" type="text/css" href="grafica.php" />

 </head>
 <body>

 <!-- resto della situazione -->

 </body>
</html>

Ecco fatto. Ora, per verificare l'effettiva compressione bisognerebbe fare una prova con PageSpeed o altri tools.

Io ho effettuato il test con PageSpeed di Chrome.

1° Risultato PRIMA di questa soluzione: PageSpeed mi avvisava di comprimere il file "grafica.css" (praticamente c'ho TUTTA la grafica del sito in un unico file .css).

2° Risultato DOPO la soluzione: PageSpeed ha rimosso dall'elenco dei file .js e .css da comprimere (si..devo operare sugli altri ancora), il file "grafica.css".

Yessssssss!!!

Che ne pensi Mario? Che ne pensate?

PS: la soluzione mi è stata gentilmente infusa da un utente della rete, in un altro forum. Non cito per non arrecare "danno economico" a questo forum :) ..se faccio male a non citare, ditemelo. Citerò subito dopo :D

risposto 5 anni fa
wartpro
X 0 X

Cita cita, non vedo dove possa esserci un danno dal momento che internet è fatto di "link".

Piuttosto, con queste modifiche noti miglioramenti nel caricamento delle pagine? Se si è ok, se no allora la soluzione non ha senso...

ciao

risposto 5 anni fa
Mario Santagiuliana
X 0 X

Ah bene. Allora con piacere  ;D

Qui ho ricevuto l'illuminazione: [ http://forum.html.it/forum/showthread.php?threadid=1253789 ]

  :o

Per quanto riguarda il tempo di caricamento...beh, sto facendo i test in locale. Adesso aggiungo alle pagine magari uno script che mi da il tempo di caricamento e vediamo che differenza c'è.

Di sicuro però c'è che PageSpeed mi ha migliorato il ranking da 50/100 a 77/100 ...ottimizzando il file .css principale e (adesso..proprio poco fa), la libreria jQuery! Ora passo agli altri file javascript e vediamo dove arrivo.

Solo una cosa, adesso, andando a vedere il codice con Ctrl + U (Chrome), nei tag <link /> e <script></script> i miei file appaiono con estensione .php.

Domanda: è un problema? (per chi poi... :o )

Grazie mille!

risposto 5 anni fa
wartpro
X 0 X

Uppamento di aggiornamento!

Allora, con il seguente scriptino:

<script language="javascript" type="text/javascript"> 
var inizio = new Date(); 
</script> 

<script language="javascript" type="text/javascript"> 
function calcola() { 
var fine = new Date(); 
var durata1 = fine-inizio; 
var durata = parseInt(durata1); 
durata /= 1000; // trasforma in secondi 
durat = durata.toString(); // trasforma in stringa 
durat = durat.replace(/./, ","); // sostituisce il punto con virgola 
alert("la pagina ha impiegato "+durata+" millisecondi"); 
} 
</script>

..messo nella head..dopo ogni <link /> e <script> vario..(e con il richiamo <body onload="calcola();">)..

..il risultato è: 0.006/0.005 secondi variabile.. (a volte ottengo un 0.025 secondi...!!)

..ma mi sa che non è un buon metodo per sapere i tempi di caricamento.  :buck:

risposto 5 anni fa
wartpro
X 0 X

Direi di no.

Però tieni presente alcune cose: non è sempre necessario comprimere i file che si inviano, specie se questi occupano molto spazio.

Inoltre devi pensare anche alla connessione che ha chi utilizza il tuo sito web, se adsl o vecchio 56k. Nell'ultimo caso è meglio riuscire a comprimere il più possibile, nel primo invece fa poca differenza.

Utilizzare uno script php per inviare dei dati compressi è una buona soluzione al problema, se il server web non lo permette.

Dato che il servizio hosting windows su Aruba è, secondo me, a dir poco pessimo, chiedi direttamente di passare ad un hosting linux, non credo perderai mesi di pagamento e non credo ti faranno pagare di più...chiedi...

Ciao

risposto 5 anni fa
Mario Santagiuliana
X 0 X

Pessimo pessimo!

Manca "poco"...a Dicembre cambierò...per tutti !!!

 ;D

risposto 5 anni fa
wartpro
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda