Protocol-relative URLs might be various kinds of awesome, and they work with every major browser. The problem with them is, they break many things that are not browsers. It's easy to write an app that fetches some HTML with HTTP, but less easy to correctly interpret that HTML. Using obscure features like protocol-relative URLs causes the less carefully-written HTTP clients to break.
Access logs demonstrate that there are many broken clients:
Note that the browser-like UA strings might not be fake -- Flash and Java apps running under the browser send the UA string of their host. Of the UA strings without "Mozilla" in them, we have:
- Three versions of perl, two Java libraries
- Microsoft BITS (a background download helper, probably used by an offline reader app)
- KongshareVpn (website defunct)
- Instapaper (an offline downloader/reader for Android)
- Googlebot-Image (IP confirmed to be Google)
- A couple of phone models (Dorado, Symbian)
The length of this list is limited by the sample size, not by the actual number of broken scripts. It's a long, long tail.
This is just a gripe bug, I don't have any concrete plan for replacing protocol-relative URLs in our infrastructure. Krinkle asked me about it at I4155c740 , so I thought I may as well document the problem.