This is a follow up post of my previous question about BASIC auth over HTTPS
Are the path to the resource and query string passed securely to the server if I use HTTPS?
i.e.
URI: http://server/path/to/a/resource?with=a&query=string
Server: server
path: /path/to/a/resource
query string: with=a&query=string
Это действительно хорошее объяснение этого: http://answers.google.com/answers/threadview/id/758002.html#answer
Обзор: только хост и порт будут видны в незашифрованном виде.
Короче говоря, да. Но вы не должны хранить конфиденциальные данные в URL-адресах, поскольку они могут быть видны в истории браузеров и файлах журналов сервера. И любой, кто заглянет через ваше плечо, тоже это увидит.
Да, это так - весь сеанс защищен и зашифрован, поэтому все, что вы отправляете, включая строку запроса, невозможно прочитать.
Вы можете доказать это себе, если хотите, используя что-то вроде Fiddler для просмотра трафика http / https, который вы генерируете при посещении защищенного URL. Все, что вы отправляете через HTTPS, не будет отображать строку запроса, как показано здесь:
Фактический URL, который я посещал, выглядел так:
https://www.halifax-online.co.uk/_mem_bin/formslogin.asp ? source = halifaxcouk & simigvis =
Согласно другим ответам, вы не должны передавать какую-либо конфиденциальную информацию в строке запроса, поскольку она может храниться в файлах журнала ваших веб-серверов, поэтому, если вы передавали комбинацию имени пользователя и пароля, любой, кто может получить доступ к вашему журналы смогут фиксировать эту информацию. Это может позволить кому-то войти на ваш сайт / приложение , как если бы они были кем-то другим , даже если вы прилагали усилия, такие как хранение паролей в своей базе данных в виде соленых хэшей, а не в виде открытого текста.
HTTPS - это просто HTTP-туннель, туннелируемый через соединение SSL. Это означает, что запрос, ответ, заголовки и контент находятся в туннеле SSL и поэтому должны быть зашифрованы.