GZIP CSS и Javascript файлы в IIS - PullRequest
1 голос
/ 26 мая 2011

Я пытаюсь доставить в браузер сжатую и сжатую версию моих файлов javascript с использованием coldfusion.

Я пытался добавить следующее в файл web.config, но по-прежнему не отображал GZIP (используяСкрипач)

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
    <dynamicTypes>
      <add mimeType="text/*" enabled="true"/>
      <add mimeType="message/*" enabled="true"/>
      <add mimeType="application/javascript" enabled="true"/>
      <add mimeType="*/*" enabled="false"/>
    </dynamicTypes>
    <staticTypes>
      <add mimeType="text/*" enabled="true"/>
      <add mimeType="message/*" enabled="true"/>
      <add mimeType="application/javascript" enabled="true"/>
      <add mimeType="*/*" enabled="false"/>
    </staticTypes>
  </httpCompression>
  <urlCompression doStaticCompression="true" doDynamicCompression="true"/>

Ответы [ 6 ]

2 голосов
/ 28 мая 2011

Я решил свою проблему, установив динамическое сжатие в службах ролей IIS, и теперь оно работает как чудо.

0 голосов
/ 04 января 2016

для сжатия CSS, может быть, вы, ребята, должны попробовать этот атрибут;

<add mimeType="text/css" enabled="true"/>

и весь код (включая кэширование в браузере);

<system.webServer>
<httpCompression directory="C:\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="C:\Windows\System32\inetsrv\gzip.dll"/>
<dynamicTypes>
  <add mimeType="text/*" enabled="true"/>
  <add mimeType="message/*" enabled="true"/>
  <add mimeType="application/javascript" enabled="true"/>
  <add mimeType="*/*" enabled="false"/>
  <add mimeType="text/css" enabled="true"/>
</dynamicTypes>
<staticTypes>
  <add mimeType="text/*" enabled="true"/>
  <add mimeType="message/*" enabled="true"/>
  <add mimeType="application/javascript" enabled="true"/>

  <add mimeType="*/*" enabled="false"/>
  </staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00"/>
</staticContent>
</system.webServer>
0 голосов
/ 27 мая 2011

Похоже, вы указали, что тип MIME "application/x-javascript" должен быть сжат IIS. Однако вы возвращаете MIME-тип "application/javascript" из ColdFusion.

0 голосов
/ 26 мая 2011

Используйте параметр сжатия только в IIS и напрямую связывайтесь с файлами JS / CSS, но не отправляйте их через ColdFusion.

Содержимое в окне браузера уменьшено, а не сжато.

Браузеры знают о сжатом контенте;браузер сообщит серверу, какие форматы (если таковые имеются) они могут обрабатывать.Сжатый js-файл автоматически распаковывается браузером, прежде чем вы его увидите.Вот почему содержимое отображается в виде простого текста.

Что касается YSlow, убедитесь, что он не жалуется на несжатые файлы CSS.

0 голосов
/ 26 мая 2011

Разве браузер не просто распаковывает его, как положено, и вы видите конечный результат.Вы также можете использовать cfhttp, чтобы попасть по тому же URL и посмотреть, что он возвращает.При этом вы можете легко контролировать и видеть, что сжато или не понято.

0 голосов
/ 26 мая 2011

При включенном сжатии в IIS нет необходимости предварительно сжимать файлы .js.Сервер будет управлять сжатием, проверкой поддержки браузера и отправкой сжатого файла, когда он поддерживается, без какой-либо работы с вашей стороны.

Вам просто нужно поместить файл js на сервер, и вы должны хорошоидти.Просто используйте обычное имя файла в src для тега script, и сервер будет управлять всем остальным.Поскольку это не файл ColdFusion, сервер ColdFusion никогда его не трогает.

...