On Tue, Sep 9, 2008 at 3:52 PM, Gregory Maxwell gmaxwell@gmail.com wrote:
The open question is: "does it work for more primitive clients which do not support JS?" We could use non-JS images, but we'd have no way to get error reports.
How about using a few images, some with protocol relatives and some without, and check the request logs for unpaired requests? You'd get some false positives, but if you provided, say, two with protocol relatives and two without, or five with and five without, you'd be pretty unlikely to get anything that happens to get the requests through for *exactly* the non-protocol-relative ones but none of the others. How to get this to work with the caching layer, since it requires serving different HTML to a small sample, is probably something you have better ideas for than I do. Send different version depending on which Squid is requesting it?
Alternatively, if it's rolled out for actual content and screw anyone who doesn't support it, that could be done incrementally, with the percentage of protocol-relative links starting out extremely small and slowly increasing over time if no complaints come in. Then the damage should be as minimal as possible. Or the protocol-relative links could be deployed deterministically based on page name, and then if there's a problem all the affected pages could be purged (but you'd still want to start slow to avoid having to do huge purges).