I’m planning to upgrade my shopping website so that people who are stuck on the highway in the middle of nowhere with lousy internet who want to make purchases can see a progress bar moving instead of a screen with no activity (while square.js and friends load).
I have made manual requests to these files:
https://web.squarecdn.com/v1/square.js
https://sandbox.web.squarecdn.com/v1/square.js
If I do not tell the square server that I support gzip compression, the content-length is returned in the HTTP header (which is what I need to make the progress bar work).
If I do tell the server that I support gzip (which is what most web browsers automatically do), then the content-length is NOT returned and the progress bar won’t work.
I still would need it for the gzipped response because the javascript after compression weighs in at about 110KB and if that person under a rock with lousy internet with say a download speed of dialup (57600 bits/second or 7200 bytes/second) is trying to buy something quickly, he would have to wait a minimum of 15 seconds just for the square script to load. this excludes all of the other resources necessary to enable the customer to make an electronic purchase.
Would you be able to change this at your end, or would I have to setup my server to periodically download square.js to make it in sync with the version on the square site so that when customers order from me, I can serve them the local square.js with the content-length always included in the header?
Sorry, its just people these days are impatient and they don’t want to wait 15 seconds at a blank screen.