GET и POST имеют семантическое значение - GET используется для получения ресурса, а POST используется для его изменения. Именно по семантике вы замечаете различия в реализации в вашем веб-браузере - поскольку POST якобы изменяет данные, браузер должен предупредить перед повторной отправкой запроса / команды POST.
Вся сеть переходит на эту семантику. Кэшировать GET-запрос безопасно, но не команду POST - так делают кеширующие прокси. Безопасно получать ресурс несколько раз, поэтому у вас есть средства предварительной выборки ссылок, которые делают именно это. Безопасно создавать закладки и обновлять GET, поэтому нет предупреждений от браузеров и т. Д. И т. Д.
Тем не менее, нет никакой разницы в безопасности - поэтому приведенный вами пример пароля пользователя не совсем точен. POST так же легко изменить или просмотреть, как GET.