Solved

gzip js not displaying in headers?

Posted on 2013-12-09
6
300 Views
Last Modified: 2013-12-09
Hi,

I'm trying to see if my javascript files are zipped and being sent properly by the server. I checked in the Chrome Developer Tools (see attached files) to see snapshots of my headers for the a javascript file.

I have this in my .htaccess file:

# BEGIN GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
# END GZIP

AddEncoding gzip .gz
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT}
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]

Open in new window


I think I'm being redundant for the sections but I'm just checking to see if any of the code works. It doesn't seem like it. Am I missing something?

Thanks
Screenshot-2013-12-09-08.53.16.png
0
Comment
Question by:Victor Kimura
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 83

Assisted Solution

by:Dave Baldwin
Dave Baldwin earned 500 total points
ID: 39706705
You are missing several things.  First is the fact that like I said on your other question, 'gzip' method is negotitated between the browser and the server.  Second is that you have already fetched that file and you are getting a 304 result code which means that the server does not have a newer version so the browser should use the copy that is in the browser cache.  

That also means that no data was transferred.  So even if it was originally 'gzipped', you won't see it in those headers because no data was transferred.  Do a Ctrl-F5 refresh of the page to tell the browser to get completely new copies of the files.  Since the javascript is not fetched with the initial request but is fetched after the main page loads, you may have to load the JS file directly in the browser to get it to update instead of showing a 304 code.
0
 

Author Comment

by:Victor Kimura
ID: 39706742
For some reason, this doesn't work:
 <script type="text/javascript" src="./controller/06_sixth_page-12_09_13_0754.js.gz"></script>

But the minified and the regular js file works fine. I'm just testing here to see if the manual gzipped file works or not. Is there something wrong with it?

The gzipped file is much smaller than the regular file. So why wouldn't the server send the gzipped version?
0
 

Author Comment

by:Victor Kimura
ID: 39706779
Is there a way I can see if the server is sending the gzipped version or the non-gzipped version with firebug or Chrome developer tools?
0
Resolve Critical IT Incidents Fast

If your data, services or processes become compromised, your organization can suffer damage in just minutes and how fast you communicate during a major IT incident is everything. Learn how to immediately identify incidents & best practices to resolve them quickly and effectively.

 
LVL 83

Accepted Solution

by:
Dave Baldwin earned 500 total points
ID: 39706809
Not that I know of.  You might be able to see it in the response header if the file is large enough.  If it is a small file, it won't be gzipped anyway.

You are continuing to talk as though the 'gzip' method is your choice.  It is Not.  It is negotiated between the browser and the server and it is essentially transparent to you.  The 'gzip' method of sending a response is at a different 'layer' in the communication between the browser and the server and it's not one that you can choose.  It is intended to operate automatically to send you the file you have requested.

When you link to a '*.gz' file, that's what the server would send instead of a '*.js' file.  But the browser can't use a '*.gz' sent that way when it is supposed to be a javascript file.  If the '*.gz' file was large enough, it might get 'gzipped' itself in the background.
0
 

Author Comment

by:Victor Kimura
ID: 39706833
Oh, ok. I get it. I thought I could even manually change it but since it works  on a different 'layer' then I get it now. Yes, makes sense. I was also trying to see what the server was sending - the .gz or the regular file. There should be a way to debug if the gzip is working properly or not though for specific js files or even css files.

Thanks for the help, Dave. That's helpful.
0
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 39707077
You're welcome.  I think something is telling people they can 'speed up' their web sites by 'Gzipping' their content.  Unfortunately, it fails to tell them that it is not under their control.  In addition, small files don't get gzipped because it takes more time to gzip them that than it does to simply send them.
0

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

You ever wonder how to backup Linux system files just like Windows System Restore?  Well you can use Timeshift in Linux to perform those similar action.  This tutorial will show you how to backup your system files and keep regular intervals. Note…
It is possible to boost certain documents at query time in Solr. Query time boosting can be a powerful resource for finding the most relevant and "best" content. Of course the more information you index, the more fields you will be able to use for y…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question