mihusolutions / googlebugs

Automatically exported from code.google.com/p/googlebugs
0 stars 0 forks source link

Google Drive does not serve javascript files when client sends Accept-Encoding header #665

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Create a public javascript file and follow this guide 
https://support.google.com/drive/answer/2881970?hl=en to find out its URL for 
download
2. Try to download the file from https://googledrive.com/host/[docid]

What is the expected output? What do you see instead?
You expect a "Save as" prompt but you get an error page reading 
ERR_SPDY_PROTOCOL_ERROR

What version of the product are you using? On what operating system?
Google Drive on the web

What is the url of the corresponding thread at Google Groups?
https://productforums.google.com/forum/#!category-topic/drive/report-a-problem/O
ysGFhPZzdo

What is your support ticket from Google support?

Please provide any additional information below.

As of today (Jan 21), Google Drive has a problem in servicing public javascript 
files. 

I have created a test public javascipt file: 

https://drive.google.com/file/d/0B0LhXyqXqQSpNkVScGVtQ2thY3M/view 

Normally, you can download it from: 

https://googledrive.com/host/0B0LhXyqXqQSpNkVScGVtQ2thY3M 

which redirects to: 

https://d18bae7de9be5a4af7a66421e9e82cc342d129e1.googledrive.com/host/0B0LhXyqXq
QSpNkVScGVtQ2thY3M 

which, today, shows an error page with code: ERR_SPDY_PROTOCOL_ERROR 

Now open developer tools, refresh, and right click on the failed GET request. 
Select "Copy as cURL" and execute the curl command (use Cygwin on Windows): 

curl 
"https://d18bae7de9be5a4af7a66421e9e82cc342d129e1.googledrive.com/host/0B0LhXyqX
qQSpNkVScGVtQ2thY3M" -H "Accept: 
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" -H 
"Referer: " -H "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36" 
--compressed 

The response is "curl: (52) Empty reply from server" 

If you remove the --compressed flag, which essentially sends the 
"Accept-Encoding: deflate, gzip" HTTP header, everything works great and you 
get: 

console.log('hi'); 

which is the content of the test javascript file. 

Html files work normally even with compression enabled and actually applied on 
the content. I think that something changed on the HTTP servers today and broke 
things up. Seems like gzip does not work properly. The problem is that I cannot 
convince the browser to request the file without adding the header (I use a 
script tag on an html page). 

Original issue reported on code.google.com by kosp...@gmail.com on 22 Jan 2015 at 1:44

GoogleCodeExporter commented 9 years ago
Working now...

Original comment by kosp...@gmail.com on 22 Jan 2015 at 5:59