IE performance issues in transitions between http and https

Hi, Guys -

I’ve noticed an undesirable side effect in IE when turning on SSL checkout via the admin panel. Here’s the situation:

  1. I have the “Enable secure connection at checkout” option turned on in the Administration–>Settings–>General section of the admin panel. Functionally, I have no problem; the site’s been up and running and stable for a month now.

  2. I clear my Temporary Internet Files in IE.

  3. I visit my site. The first page is understandably slow to load because it’s very “heavy” and I’ve yet to optimize it.

  4. I navigate to any other page besides my shopping basket (cart), and the subsequent page loads are significantly quicker because most of the page contents are cached by the browser.

  5. I add an item to my basket.

  6. Per my client’s preference, the visitor is redirected to the shopping basket.

  7. For this first item added, the page loads slowly because the protocol for the page is now HTTPS, and the thus-far-generated HTTP cache doesn’t yield any benefit.

    So here’s the crux of my issue:

  8. When I navigate from the chckout page to any other page in the site (i.e., any non-HTTPS page) , the page reloads in its entirety without using the cache that’s already been established. As I mentioned before, this takes a while due to the “heaviness” of my pages.

  9. I’ve tried these same steps on the CS-Cart web sites of other members in the forum, and I experience the same results (albeit with less of a performance difference because most of your sites are much more “lightweight” than mine).

  10. When I try the same steps in Firefox, the transition from HTTPS to HTTP pages does not cause a rebuilding of the cache.

    So my questions are:

  11. How do I rectify this (aside from optimizing my HTML)?

  12. Why does CS-Cart force HTTPS in the shopping cart page, which contains zero sensitive data? I obviously want it to force HTTPS in the checkout page, but forcing it in the shopping cart page makes no sense to me. It appears the protocol check is based solely on the first part of the controller name (if I’m using the term properly). What I would like is HTTP for the /index.php?dispatch=checkout.cart page, but HTTPS for the /index.php?dispatch=checkout.checkout page.

    Any thoughts?


This issue appears to have been resolved in another post: