Можно ли остановить браузер, сохраняющий URL-адрес в своей истории?

Когда пользователь нажимает на страницу с использованием ссылки на предыдущей странице, возможно ли, чтобы целевая страница сама по себе удаляла свой собственный URL из истории браузера (без существенной модификации страницы, на самом деле имеющей ссылку на него, если, возможно, это был простой атрибут HTML или что-то еще)?

Очевидно, что я не должен хранить конфиденциальную информацию в URL-адресе, но есть некоторые случаи, когда я должен хранить некоторую информацию в URL-адресе, и, хотя она не чувствительна, все равно лучше не хранить ее в история. (Эти URL-адреса полностью не полезны для пользователя, если они появятся в истории.)

Итак, есть ли способ для меня, как разработчика webapp, сохранить эти истории, по крайней мере, в некоторых современных браузерах? (Что-то вроде HTTP-заголовков, JavaScript или HTML и т.д. На странице, загруженной в результате URL-адреса.)

(Меня не интересуют такие методы, как выборка страниц с помощью AJAX, iframe и т.д., где пользователь фактически не перемещается по указанному URL-адресу, но все же удается получить от него контент.)

Ответы

Ответ 1

Похоже, это невозможно.

В истории браузера будет сохранен URL-адрес. Лучшее, что можно сделать, это либо предотвратить переход URL-адреса в кнопки назад/вперед, либо использовать "такие методы, как выборка страниц с помощью AJAX, iframe и т.д., Когда пользователь фактически не перемещается по указанному URL-адресу, но все же управляет чтобы получить от него контент".

Ответ 2

Используя javascript, вы можете использовать replace метод window.location:

window.location.replace(String url)

Подробнее о документации здесь для более подробной информации

Ответ 3

В некоторых случаях отправка ответа 302 Found и перенаправление на другую страницу могут работать. Если вам нужно скрыть параметры строки запроса, вы можете установить с ним куки файлы сеанса в исходном, перенаправленном ответе, а затем использовать их для ответа на реальную страницу. Просто не забудьте очистить файл cookie, когда вы обслуживаете страницу.

Но это полностью серверный способ сделать это, и, хотя вы можете скрыть конфиденциальные данные, вы все равно увидите какую-то страницу в домене в истории.