<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>MQX Software Solutionsのトピックhttpsrv gzip compression</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352368#M11467</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm running MQX 4.1.0.1 on a Kinetis K60 and attempting to use compressed files stored in TFS running on the built in RTCS web server. However I'm having some trouble getting it to work with compressed files. My page loads fine if I decompress the files leading me to believe the webpage code is ok. But if I have files compressed (in .gz or .zip) the web page does not display correctly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have 4 files, 1 .html, 2 .js and 1 .css file. I have gzip compressed the .css and .js files. So they now have a .js.gz or .css.gz style file name. I realize .gz is not supported by default but using the supported .zip does not work either. The page loads just as poorly with both.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Following the instructions listed here &lt;A href="https://community.nxp.com/message/406740" rel="nofollow noopener noreferrer" target="_blank"&gt;Re: Re: How to set Content Disposition?&lt;/A&gt; I have added support for .gz files. I'm guess I did this ok since it at least works the same as the included .zip support.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14214233881006806" jivemacro_uid="_14214233881006806" modifiedtitle="true"&gt;
&lt;P&gt;typedef enum httpsrv_content_type&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_OCTETSTREAM = 1,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PLAIN,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_CSS,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_GIF,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JPG,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PNG,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JS,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_ZIP,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PDF,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_GZIP,&lt;/P&gt;
&lt;P&gt;} HTTPSRV_CONTENT_TYPE;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14214235247418276" jivemacro_uid="_14214235247418276"&gt;
&lt;P&gt;static const httpsrv_table_row content_type[] = {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_PLAIN,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text/plain" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text/html" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_CSS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text/css" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_GIF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "image/gif" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_JPG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "image/jpeg" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_PNG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "image/png" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_JS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/javascript" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_ZIP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/zip" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_GZIP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/x-gzip" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_PDF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/pdf" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_OCTETSTREAM, "application/octet-stream" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { 0,&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 }&lt;/P&gt;
&lt;P&gt;};&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="_jivemacro_uid_14214235063048090 jive_text_macro jive_macro_code" jivemacro_uid="_14214235063048090"&gt;
&lt;P&gt;static httpsrv_content_table_row content_tbl[] = {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Size,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; extension, MIME type,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cache? */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("js")-1 ,&amp;nbsp;&amp;nbsp; "js",&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("gz")-1,&amp;nbsp;&amp;nbsp;&amp;nbsp; "gz",&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_GZIP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("css")-1,&amp;nbsp;&amp;nbsp; "css",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_CSS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("gif")-1,&amp;nbsp;&amp;nbsp; "gif",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_GIF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE}, &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("htm")-1,&amp;nbsp;&amp;nbsp; "htm",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("jpg")-1,&amp;nbsp;&amp;nbsp; "jpg",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JPG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("pdf")-1,&amp;nbsp;&amp;nbsp; "pdf",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PDF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE}, &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("png")-1,&amp;nbsp;&amp;nbsp; "png",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PNG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("txt")-1,&amp;nbsp;&amp;nbsp; "txt",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PLAIN,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("zip")-1,&amp;nbsp;&amp;nbsp; "zip",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_ZIP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("html")-1,&amp;nbsp; "html",&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("shtm")-1,&amp;nbsp; "shtm",&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("shtml")-1, "shtml", HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Following row MUST have length set to zero so we have proper array termination */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "", HTTPSRV_CONTENT_TYPE_OCTETSTREAM, FALSE}&lt;/P&gt;
&lt;P&gt;};&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not an expert on the inner working of RTCS or the web server but is there anything else I need to do to enable support for compression?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sean&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 16 Jan 2015 15:59:41 GMT</pubDate>
    <dc:creator>seandema</dc:creator>
    <dc:date>2015-01-16T15:59:41Z</dc:date>
    <item>
      <title>httpsrv gzip compression</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352368#M11467</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm running MQX 4.1.0.1 on a Kinetis K60 and attempting to use compressed files stored in TFS running on the built in RTCS web server. However I'm having some trouble getting it to work with compressed files. My page loads fine if I decompress the files leading me to believe the webpage code is ok. But if I have files compressed (in .gz or .zip) the web page does not display correctly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have 4 files, 1 .html, 2 .js and 1 .css file. I have gzip compressed the .css and .js files. So they now have a .js.gz or .css.gz style file name. I realize .gz is not supported by default but using the supported .zip does not work either. The page loads just as poorly with both.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Following the instructions listed here &lt;A href="https://community.nxp.com/message/406740" rel="nofollow noopener noreferrer" target="_blank"&gt;Re: Re: How to set Content Disposition?&lt;/A&gt; I have added support for .gz files. I'm guess I did this ok since it at least works the same as the included .zip support.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14214233881006806" jivemacro_uid="_14214233881006806" modifiedtitle="true"&gt;
&lt;P&gt;typedef enum httpsrv_content_type&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_OCTETSTREAM = 1,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PLAIN,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_CSS,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_GIF,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JPG,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PNG,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JS,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_ZIP,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PDF,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_GZIP,&lt;/P&gt;
&lt;P&gt;} HTTPSRV_CONTENT_TYPE;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14214235247418276" jivemacro_uid="_14214235247418276"&gt;
&lt;P&gt;static const httpsrv_table_row content_type[] = {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_PLAIN,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text/plain" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text/html" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_CSS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text/css" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_GIF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "image/gif" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_JPG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "image/jpeg" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_PNG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "image/png" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_JS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/javascript" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_ZIP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/zip" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_GZIP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/x-gzip" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_PDF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/pdf" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_OCTETSTREAM, "application/octet-stream" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { 0,&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 }&lt;/P&gt;
&lt;P&gt;};&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="_jivemacro_uid_14214235063048090 jive_text_macro jive_macro_code" jivemacro_uid="_14214235063048090"&gt;
&lt;P&gt;static httpsrv_content_table_row content_tbl[] = {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Size,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; extension, MIME type,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cache? */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("js")-1 ,&amp;nbsp;&amp;nbsp; "js",&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("gz")-1,&amp;nbsp;&amp;nbsp;&amp;nbsp; "gz",&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_GZIP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("css")-1,&amp;nbsp;&amp;nbsp; "css",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_CSS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("gif")-1,&amp;nbsp;&amp;nbsp; "gif",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_GIF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE}, &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("htm")-1,&amp;nbsp;&amp;nbsp; "htm",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("jpg")-1,&amp;nbsp;&amp;nbsp; "jpg",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JPG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("pdf")-1,&amp;nbsp;&amp;nbsp; "pdf",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PDF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE}, &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("png")-1,&amp;nbsp;&amp;nbsp; "png",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PNG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("txt")-1,&amp;nbsp;&amp;nbsp; "txt",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PLAIN,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("zip")-1,&amp;nbsp;&amp;nbsp; "zip",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_ZIP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("html")-1,&amp;nbsp; "html",&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("shtm")-1,&amp;nbsp; "shtm",&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("shtml")-1, "shtml", HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Following row MUST have length set to zero so we have proper array termination */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "", HTTPSRV_CONTENT_TYPE_OCTETSTREAM, FALSE}&lt;/P&gt;
&lt;P&gt;};&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not an expert on the inner working of RTCS or the web server but is there anything else I need to do to enable support for compression?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sean&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Jan 2015 15:59:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352368#M11467</guid>
      <dc:creator>seandema</dc:creator>
      <dc:date>2015-01-16T15:59:41Z</dc:date>
    </item>
    <item>
      <title>Re: httpsrv gzip compression</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352369#M11468</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Found out a little more info. Digging around in the web server code it appeared that it was searching for files with a .js or .css extension and not the .gz that is should be. All of my .js and .css files are gzipped. Just to see what would happen I modified httpsrv_process_req_method() in httpsrv_supp.c to append .gz to the 3 files that need it.&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14214484824364473" jivemacro_uid="_14214484824364473" modifiedtitle="true"&gt;
&lt;P&gt;if(strcmp(uri_begin, "/bootstrap.min.css") == 0 ||&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; strcmp(uri_begin, "/bootstrap.min.js") == 0 ||&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; strcmp(uri_begin, "/jquery.min.js") == 0)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; written = snprintf(session-&amp;gt;request.path, server-&amp;gt;params.max_uri, "%s.gz", uri_begin);&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;else&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; written = snprintf(session-&amp;gt;request.path, server-&amp;gt;params.max_uri, "%s", uri_begin);&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I then did a Wireshark capture and I'm now seeing the expected Content-type of "application/x-gzip" but my web page still displays incorrectly.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="gzip load.jpg"&gt;&lt;IMG alt="gzip load.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/48159i7C7DD7359C72CB81/image-size/large?v=v2&amp;amp;px=999" title="gzip load.jpg" /&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;I'm still not sure what is wrong but thought this might be useful info to someone who knows more than I do about the web server.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sean&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 13:12:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352369#M11468</guid>
      <dc:creator>seandema</dc:creator>
      <dc:date>2020-11-02T13:12:28Z</dc:date>
    </item>
    <item>
      <title>Re: httpsrv gzip compression</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352370#M11469</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Unfortunately compressed files are not supported in current MQX web server, but your modification looks OK and it should work however we didn’t test such modification till now.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ideas:&lt;/P&gt;&lt;P&gt;I guess that HTTP header should contain in this case&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Content-Encoding: gzip&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;for let client to know which decoding mechanisms has to be selected in order to obtain the media-type referenced by the Content-Type header field.&lt;/P&gt;&lt;P&gt;For details:&lt;/P&gt;&lt;P&gt;&lt;A href="http://tools.ietf.org/html/rfc2616#section-14.11"&gt;http://tools.ietf.org/html/rfc2616#section-14.11&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Please try additionally modify code for generating header file and add there Content-Encoding entity-header field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your picture shows Wireshark capture with filter (not all data, it seems that bootstrap.min.css.gz has 30kB). Are you sure that files were fully transferred?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note: You selected FALSE as option for Cache. I suppose that css and js files will not be changed dynamically. So, I guess that cache at client side has some sense for these files. Anyway, this should not have any influence on main result – if it will work or not. &lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;BR /&gt; I hope it helps you. &lt;BR /&gt; &lt;BR /&gt;Have a great day,&lt;BR /&gt;RadekS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Jan 2015 15:01:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352370#M11469</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2015-01-19T15:01:36Z</dc:date>
    </item>
    <item>
      <title>Re: httpsrv gzip compression</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352371#M11470</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;"Content-Encoding: gzip" was the fix. I also had to have "Content-Type: application/javascript" or what ever is appropriate or IE would not load the page. Though Chrome and Firfox were fine without Content-Type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I ended up modifying the webserver to always put in "Content-Encoding: gzip" for .js and .css files since all of mine are gzipped.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the help!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sean&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Jan 2015 20:56:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352371#M11470</guid>
      <dc:creator>seandema</dc:creator>
      <dc:date>2015-01-19T20:56:56Z</dc:date>
    </item>
    <item>
      <title>Re: httpsrv gzip compression</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352372#M11471</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sean&lt;/P&gt;&lt;P&gt;Can you please post the code you have modified to make gzip work?&lt;/P&gt;&lt;P&gt;I would really appreciate it if you can.&lt;/P&gt;&lt;P&gt;thanks in advance&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 01 Mar 2015 05:04:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352372#M11471</guid>
      <dc:creator>igorspectr</dc:creator>
      <dc:date>2015-03-01T05:04:35Z</dc:date>
    </item>
    <item>
      <title>Re: Re: httpsrv gzip compression</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352373#M11472</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Sorry for the slow reply, s&lt;/SPAN&gt;omehow I just now saw this.&amp;nbsp; Anyway here are the changes I made. To get things working I have my .js and .css file gzipped but I changed the file extension to just read .css and .js instead of .css.gz or .js.gz even though they really are still gz compressed. This is done on my PC before running mktfs.bat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In httpsrv.h&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_1425570179193815" jivemacro_uid="_1425570179193815"&gt;
&lt;P&gt;typedef enum httpsrv_content_type&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_OCTETSTREAM = 1,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PLAIN,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_CSS,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_GIF,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JPG,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PNG,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JS,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_ZIP,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PDF,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_GZIP, // "Encoding-Type: " for gzipped files&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JSON&amp;nbsp; // "Content-Type: " for JSON CGI data&lt;/P&gt;
&lt;P&gt;} HTTPSRV_CONTENT_TYPE;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In httpsrv_supp.c&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14255702548183536" jivemacro_uid="_14255702548183536"&gt;
&lt;P&gt;static const httpsrv_table_row content_type[] = {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_PLAIN,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text/plain" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text/html" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_CSS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text/css" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_GIF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "image/gif" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_JPG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "image/jpeg" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_PNG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "image/png" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_JS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/javascript" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_ZIP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/zip" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_GZIP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "gzip" },&amp;nbsp; // this is the "Encoding-Type: " for gzipped filed&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_JSON,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/json" }, // "Content-Type: " for JSON CGI data&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_PDF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/pdf" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_OCTETSTREAM, "application/octet-stream" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { 0,&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 }&lt;/P&gt;
&lt;P&gt;};&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14255703905837388" jivemacro_uid="_14255703905837388"&gt;
&lt;P&gt;static httpsrv_content_table_row content_tbl[] = {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Size,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; extension, MIME type,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cache? */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("js")-1 ,&amp;nbsp;&amp;nbsp; "js",&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("gz")-1,&amp;nbsp;&amp;nbsp;&amp;nbsp; "gz",&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_GZIP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&amp;nbsp; // Adding gz, keeping order of length(shortest first)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("css")-1,&amp;nbsp;&amp;nbsp; "css",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_CSS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("gif")-1,&amp;nbsp;&amp;nbsp; "gif",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_GIF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE}, &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("htm")-1,&amp;nbsp;&amp;nbsp; "htm",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("jpg")-1,&amp;nbsp;&amp;nbsp; "jpg",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JPG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("pdf")-1,&amp;nbsp;&amp;nbsp; "pdf",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PDF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE}, &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("png")-1,&amp;nbsp;&amp;nbsp; "png",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PNG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("txt")-1,&amp;nbsp;&amp;nbsp; "txt",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PLAIN,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("zip")-1,&amp;nbsp;&amp;nbsp; "zip",&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_ZIP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("html")-1,&amp;nbsp; "html",&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("shtm")-1,&amp;nbsp; "shtm",&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("json")-1,&amp;nbsp; "json",&amp;nbsp; HTTPSRV_CONTENT_TYPE_JSON,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("shtml")-1, "shtml", HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Following row MUST have length set to zero so we have proper array termination */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "", HTTPSRV_CONTENT_TYPE_OCTETSTREAM, FALSE}&lt;/P&gt;
&lt;P&gt;};&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro _jivemacro_uid_14255704425571345 jive_macro_code" jivemacro_uid="_14255704425571345" modifiedtitle="true"&gt;
&lt;P&gt;/* If there will be entity body send content type */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (has_entity)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpsrv_print(session, "Content-Type: %s\r\n", httpsrv_get_table_str((httpsrv_table_row*)content_type, session-&amp;gt;response.content_type));&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(session-&amp;gt;response.content_type == HTTPSRV_CONTENT_TYPE_GZIP ||&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; session-&amp;gt;response.content_type == HTTPSRV_CONTENT_TYPE_JS ||&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; session-&amp;gt;response.content_type == HTTPSRV_CONTENT_TYPE_CSS) // using "Content-Encoding: gzip" for .gz files, assume all .js and .css files are actually gzipped &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpsrv_print(session, "Content-Encoding: %s\r\n", httpsrv_get_table_str((httpsrv_table_row*)content_type, HTTPSRV_CONTENT_TYPE_GZIP /*session-&amp;gt;response.content_type*/));&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note this last section of code is where I make the server set "Content-Encoding: gzip" for all .js .css &amp;amp; .gz files. This was the only way I was able to get all browsers to reliably decompress the gz content. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's a little bit of a hack changing the file extensions and then having the server set the content encoding to "gzip" but it was the only way I could get it to work and doing that was not a problem for my project so I just left it that way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope that helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Sean&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Mar 2015 15:52:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352373#M11472</guid>
      <dc:creator>seandema</dc:creator>
      <dc:date>2015-03-05T15:52:45Z</dc:date>
    </item>
    <item>
      <title>Re: Re: httpsrv gzip compression</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352374#M11473</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot for sharing the code Sean, i really appreciate it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Mar 2015 21:46:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352374#M11473</guid>
      <dc:creator>igorspectr</dc:creator>
      <dc:date>2015-03-06T21:46:13Z</dc:date>
    </item>
    <item>
      <title>Re: Re: httpsrv gzip compression</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352375#M11474</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for posting your solution Sean. I have done it slightly differently but your guide helped me a lot. As I wanted a mixture of compressed and uncompressed I created two new file extension .js_gz and .css_gz then after gzipping I just replace the last '.' with an '_' so my code is as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;typedef enum httpsrv_content_type&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_OCTETSTREAM = 1,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PLAIN,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_CSS,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_GIF,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JPG,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PNG,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_SVG,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JS,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_ZIP,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_XML,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_PDF,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_CSS_GZ,&amp;nbsp;&amp;nbsp;&amp;nbsp; //Adrian Rockall&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JS_GZ,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Adrian Rockall&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;} HTTPSRV_CONTENT_TYPE;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;static const HTTPSRV_TABLE_ROW content_type[] = {&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_PLAIN,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text/plain" },&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text/html" },&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_CSS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text/css" },&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_GIF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "image/gif" },&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_JPG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "image/jpeg" },&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_PNG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "image/png" },&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_SVG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "image/svg+xml"},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_JS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/javascript" },&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_XML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/xml" },&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_ZIP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/zip" },&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_PDF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/pdf" },&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_OCTETSTREAM, "application/octet-stream" },&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_CSS_GZ,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "text/css" },&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //New css_gz file extension&lt;BR /&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { HTTPSRV_CONTENT_TYPE_JS_GZ,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application/javascript" },&amp;nbsp;&amp;nbsp;&amp;nbsp; //New js_gz file extension&lt;BR /&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { 0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0}&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;};&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;static const HTTPSRV_CONTENT_TABLE_ROW content_tbl[] = {&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Size,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; extension, MIME type,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cache? */&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("js")-1 ,&amp;nbsp; "js",&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPSRV_CONTENT_TYPE_JS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("css")-1,&amp;nbsp; "css",&amp;nbsp; HTTPSRV_CONTENT_TYPE_CSS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("gif")-1,&amp;nbsp; "gif",&amp;nbsp; HTTPSRV_CONTENT_TYPE_GIF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("htm")-1,&amp;nbsp; "htm",&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("jpg")-1,&amp;nbsp; "jpg",&amp;nbsp; HTTPSRV_CONTENT_TYPE_JPG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("pdf")-1,&amp;nbsp; "pdf",&amp;nbsp; HTTPSRV_CONTENT_TYPE_PDF,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("png")-1,&amp;nbsp; "png",&amp;nbsp; HTTPSRV_CONTENT_TYPE_PNG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("svg")-1,&amp;nbsp; "svg",&amp;nbsp; HTTPSRV_CONTENT_TYPE_SVG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("txt")-1,&amp;nbsp; "txt",&amp;nbsp; HTTPSRV_CONTENT_TYPE_PLAIN,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("xml")-1,&amp;nbsp; "xml",&amp;nbsp; HTTPSRV_CONTENT_TYPE_XML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("zip")-1,&amp;nbsp; "zip",&amp;nbsp; HTTPSRV_CONTENT_TYPE_ZIP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("html")-1,&amp;nbsp; "html",&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("shtm")-1,&amp;nbsp; "shtm",&amp;nbsp; HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("shtml")-1, "shtml", HTTPSRV_CONTENT_TYPE_HTML,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FALSE},&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("js_gz")-1 ,"js_gz", HTTPSRV_CONTENT_TYPE_JS_GZ,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;New js_gz file extension&lt;/EM&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {sizeof("css_gz")-1,"css_gz",HTTPSRV_CONTENT_TYPE_CSS_GZ,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE},&amp;nbsp;&amp;nbsp;&amp;nbsp; //&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;New css_gz file extension&lt;/EM&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Following row MUST have length set to zero so we have proper array termination */&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "", HTTPSRV_CONTENT_TYPE_OCTETSTREAM, FALSE}&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;};&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;if (has_entity)&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpsrv_print(session, "Content-Type: %s\r\n", httpsrv_get_table_str((HTTPSRV_TABLE_ROW*)content_type, session-&amp;gt;response.content_type));&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //If we are serving a GZIP file then add the required header so the browser knows to decompress it&lt;BR /&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(session-&amp;gt;response.content_type == HTTPSRV_CONTENT_TYPE_JS_GZ ||&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; session-&amp;gt;response.content_type == HTTPSRV_CONTENT_TYPE_CSS_GZ)&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpsrv_print(session, "Content-Encoding: gzip\r\n");&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #505050;"&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have one large JavaScript library that gzips from 400k down to 80k so serving the gzip version is much faster. My slowest page, that has two large .js files and two large .css files, was taking about 15 seconds to serve and now only takes about 3 seconds with the gzip in place so definitely worth the effort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Adrian.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Dec 2015 09:39:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/httpsrv-gzip-compression/m-p/352375#M11474</guid>
      <dc:creator>adyr</dc:creator>
      <dc:date>2015-12-15T09:39:39Z</dc:date>
    </item>
  </channel>
</rss>

