Очень просто, HTTPS использует Secure Socket Layer для шифрования данных, которые передаются между клиентом и сервером. В SSL используется алгоритм RSA http://en.wikipedia.org/wiki/RSA,, технология асимметричного шифрования. Точные детали того, как работает алгоритм, сложны, но в основном он использует тот факт, что хотя умножение двух больших простых чисел вместе легко, разложить результат обратно в составляющие простые числа очень и очень сложно. Как работает шифрование SSL / RSA:
Сервер генерирует два больших простых числа и умножает их вместе. Это называется «открытым ключом». Этот ключ доступен любому клиенту, который хочет безопасно передавать данные на сервер. Клиент использует этот «открытый ключ» для шифрования данных, которые он хочет отправить. Теперь, поскольку это асимметричный алгоритм, открытый ключ не может использоваться для расшифровки передаваемых данных, а только для их шифрования. Чтобы расшифровать, вам нужны исходные простые числа, и только на сервере они есть («закрытый ключ»). При получении зашифрованных данных сервер использует свой закрытый ключ для расшифровки передачи.
В случае, если вы просматриваете Интернет, ваш браузер предоставляет серверу свой открытый ключ. Сервер использует этот ключ для шифрования данных, отправляемых в ваш браузер, который затем использует свой закрытый ключ для расшифровки.
Так что да, все данные, передаваемые на сервер или с сервера по HTTP, шифруются и хорошо шифруются. Типичные реализации SSL используют 128 или 256 цифр для своих ключей. Чтобы сломать это, вам нужно действительно огромное количество вычислительных ресурсов.
Насколько мне известно, запрос на серверный ресурс не зашифрован - используйте httpfox https://addons.mozilla.org/en-US/firefox/addon/6647/ или Wireshark http://www.wireshark.org/ или что-то для подтверждения.