While I am a fan of HTTPS everywhere, there are just some use cases that are not feasible for HTTPS.<p>One edge case I am familiar with is a case where a webapp is used to setup a headless device (like a wireless repeater or hub for example).  In this scenario, a user loads the page from a web server, the page instructs the user to put the device in a mode that it acts as a WiFi access point, the user then changes the access point of their machine, the page can now make AJAX requests to the device access point which is also acting as a server allowing the user to POST things like WiFi credentials for the device to use.<p>In this edge case one of two things need to happen, either the original page must be served as HTTP since no CA will issue you a cert that can be served by such a device.  Or the device must act as more than a simple API server and would have to serve HTML pages which would get linked to by the original page.  While the second solution is fine to get HTTPS everywhere (with the exception of while connected to the device), it means that the development and improvement of setup UI is tied to device firmware updates as opposed to speed and flexibility of web development.