I have found that both explanations can be true, depending on which site you’re looking at. Considering the first example, on some sites, <a href="https://www.domain/">https://www.domain/</a> redirects to <a href="https://domain/">https://domain/</a> anyway; on some sites, it returns a certificate error.<br>
<br>Still considering the first example, I’m not saying that HTTPS Everywhere needs to intercept requests to <a href="https://www.domain/">https://www.domain/</a> and redirect them to <a href="https://domain/">https://domain/</a>, but that it would often be beneficial. At worst, it would speed things up a little (assuming the server would have returned a redirect anyway); at best, it would prevent a cert error.<br>
<br>Yes, HTTPS Everywhere does intercept HTTPS requests, as it should, for the reasons outlined above. I assume that add-ons hook into all requests the same way (regardless of scheme), so it’s actually easier for HTTPS Everywhere to just apply some regex to all requests. In fact, the built-in Facebook rule implements my suggestion (albeit with more obscure domains), presumably to avoid cert errors. (I also use it for a slightly different purpose: redirecting <a href="http://www.facebook.com">www.facebook.com</a> and <a href="http://login.facebook.com">login.facebook.com</a> to <a href="http://ssl.facebook.com">ssl.facebook.com</a>, as a subtle way of encouraging the use of EV (Extended Validation) certificates.)<br>
<br><div class="gmail_quote">On Wed, Dec 29, 2010 at 0322 (UTC-8),  <span dir="ltr"><<a href="mailto:https-everywhere@lists.grepular.com">https-everywhere@lists.grepular.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On 28/12/2010 2234 (UTC-8), Drake, Brian wrote:<br>
<br>
> Rules are often of the form:<br>
><br>
> <rule from="^http://(www\.)?domain/" to="<a href="https://domain/" target="_blank">https://domain/</a>"/><br>
><br>
> or<br>
><br>
> <rule from="^http://(www\.)?domain/" to="<a href="https://www.domain/" target="_blank">https://www.domain/</a>"/><br>
><br>
> Not only do these rules redirect to HTTPS, they potentially change the<br>
> rest of the address too. Presumably that’s because <a href="https://www.domain/" target="_blank">https://www.domain/</a><br>
> would ultimately redirect to <a href="https://domain/" target="_blank">https://domain/</a> anyway (for the first form)<br>
> or <a href="https://domain/" target="_blank">https://domain/</a> would ultimately redirect to <a href="https://www.domain/" target="_blank">https://www.domain/</a><br>
> anyway (for the second form).<br>
<br>
</div>I assumed that most of the rules do this because the SSL cert is only<br>
valid for "domain" or "www.domain", not both. That's certainly why I've<br>
been writing rulesets of that format.<br>
<div class="im"><br>
> In that case, why not change “http” to “https?” in the “from” values to<br>
> save a request to the server when <a href="https://domain/" target="_blank">https://domain/</a> (for the first form)<br>
> or <a href="https://www.domain/" target="_blank">https://www.domain/</a> (for the second form) is requested? The benefit<br>
> would far outweight the cost, I think.<br>
<br>
</div>I don't really understand what you're saying here. In the first examples<br>
you provided if you go to one of:<br>
<br>
<a href="http://www.domain/" target="_blank">http://www.domain/</a><br>
<a href="http://domain/" target="_blank">http://domain/</a><br>
<br>
HTTPS-Everywhere redirects you to:<br>
<br>
<a href="https://domain/" target="_blank">https://domain/</a><br>
<br>
Are you suggesting that if somebody goes to <a href="https://www.domain/" target="_blank">https://www.domain/</a> it<br>
should also handle redirecting to <a href="https://domain/" target="_blank">https://domain/</a> rather than leaving<br>
the server to do it? I'm not sure if the code even looks at https<br>
requests? I can't see a reason why it would need to.<br>
<font color="#888888"><br>
--<br>
Mike Cardwell [snip]</font><br></blockquote></div><br>--<br>Brian Drake<br><br>Alternate (slightly less secure) e-mail: <a href="mailto:brian@drakefamily.tk" target="_blank">brian@drakefamily.tk</a><br>Alternate (old) e-mail: <a href="mailto:brianriab@gmail.com" target="_blank">brianriab@gmail.com</a><br>
<br>Facebook profile: <a href="https://ssl.facebook.com/profile.php?id=100001669405117" target="_blank">Profile ID 100001669405117</a><br>
Twitter username: <a href="https://twitter.com/BrianJDrake" target="_blank">BrianJDrake</a><br>Wikimedia project username: <a href="https://secure.wikimedia.org/wikipedia/meta/wiki/User:Brianjd" target="_blank">Brianjd</a> (been inactive for a while)<br>
<br>All content created by me Copyright © 2010 Brian Drake. All rights reserved.<br>