2012-01-17 2 views
0

Логина URL страницы:https://www.xyz.com/BankAwayRetail/(S(e0x2et4504nzrn45z31vqy45))/RetailSignOn.aspx?RequestId=32421307Почему генерировать случайный запрос идентификатор для каждой веб-страницы вызова

Страница после входа в системе:https://www.xyz.com/BankAwayRetail/(S(e0x2et4504nzrn45z31vqy45))/main.aspx?RequestId=63780285

Проверьте ссылку выше для справки

  1. Войти страницу URL имеет идентификатор сервера cookie вместе с RequestId, состоящий из некоторого случайного 8-значного числа
  2. Как только я войти в систему на следующей странице URL имеет RequestId, который отличается от предыдущего

Почему вы должны иметь случайно сгенерированный RequestId для каждого запроса?

HREF для этой конкретной страницы звучит так:

href="tranHttpHandler.aspx?bwayparam=qDoMNTYEhwvj0TpGy2N1HXlySZCfb3%2f9T7WT5Mm1fg%3d%3d" 

Это может быть возможно, что RequestId кодируется в вар bwayparam?

Пожалуйста, объясните, почему вы это сделаете.

ответ

1

Браузеры будут кэшировать данные на основе данного URL. Наличие уникального идентификатора запроса гарантирует, что браузер всегда будет запрашивать и повторно загружать данные страницы.

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

+0

Привет cegfault, если я использую HTTPS, тогда мне все еще нужно позаботиться о кешировании? потому что я получаю смешанные ответы для кеширования с использованием https – Lajpat

+0

Это действительно зависит от (a) браузера и (б) заголовков HTTP. Некоторые браузеры обычно не кэшируют HTTPS, но * будут *, если заголовки говорят, что контент является общедоступным. Поскольку это поведение не соответствует 100% по всей доске, я бы по-прежнему рекомендовал использовать идентификатор запроса, если вы хотите, чтобы данные загружались повторно. – cegfault