Question

J'ai un serveur Web intégré qui a un total de 2 Mo d'espace disque. Normalement, vous bénéficiez des fichiers gzip pour les clients, mais cela nous permettrait de gagner de la place sur le serveur. J'ai lu que vous pouvez simplement gzip le fichier js et l'enregistrer sur le serveur. J'ai testé cela sur IIS et je n'ai pas eu de chance du tout. Que dois-je faire exactement à chaque étape du processus pour que cela fonctionne?

Voici comment j'imagine que ce sera:

  1. gzip foo.js
  2. changez le lien en html pour qu'il pointe vers foo.js.gz au lieu de .js
  3. Ajouter une sorte d’en-tête à la réponse?

Merci pour votre aide.

-FREW

MODIFIER : mon serveur Web ne peut rien faire à la volée. Ce n'est pas Apache ou IIS; c'est un binaire sur un processeur ZiLog. Je sais que vous pouvez compresser des flux; Je viens d'apprendre que vous pouvez également compresser les fichiers une fois et les laisser compressés.

Était-ce utile?

La solution

Comme d'autres l'ont mentionné, mod_deflate le fait pour vous, mais je suppose que vous devez le faire manuellement car il s'agit d'un environnement intégré.

Tout d’abord, vous devriez laisser le nom du fichier foo.js après l’avoir converti au format gzip.

Vous ne devriez rien changer dans vos fichiers HTML. Puisque le fichier est toujours foo.js

Dans l'en-tête de réponse de (le fichier compressé) foo.js, vous envoyez l'en-tête

Content-Encoding: gzip

Cela devrait faire l'affaire. Le client demande foo.js et reçoit Content-Encoding: gzip suivi du fichier gzipped qu’il décompresse automatiquement avant d’analyser.

Bien entendu, cela suppose que vous êtes certain que le client comprend le codage gzip. Si vous n'êtes pas sûr, vous ne devriez envoyer des données gzippées que lorsque l'en-tête de la requête contient

.
Accept-Encoding: gzip

Autres conseils

Utiliser la compression gzip sur un serveur Web signifie généralement en compresser la sortie pour préserver votre bande passante - ce n’est pas vraiment ce que vous avez en tête.

Regardez cette description ou Cette exemple

Si vous utilisez Apache, vous utilisez mod_deflate , et il se comprime à la volée.

Je pense que vous êtes dérouté de penser que si vous gzipz quelque chose, ce doit être un fichier. Pensez plutôt à la façon dont un fichier n'est qu'un flux de données, et ce flux de données peut être compressé, transmis et décompressé sans que le client ait à y penser.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top