Был изменен редирект HTTP 302 - PullRequest
0 голосов
/ 18 марта 2019

Я думаю, что это невозможно, но я попрошу совета у опытных людей.

Представьте себе ситуацию:

  1. Клиент отправляет запрос на получение контента A , т.е. www.server.com/content/1.
  2. Сервер обрабатывает запрос и создает ссылку для перенаправления (каждый запрос = новая ссылка).Процесс создания ссылки перенаправления довольно дорогой.
  3. Сервер отправляет ответ 302 Found клиенту.Ответ содержит Местоположение , Истекает , ETag и Last-Modified заголовки, а также полезную нагрузку с гипертекстом (https://tools.ietf.org/html/rfc7231#section-6.4.3).
  4. Клиент перенаправляется на новый URL (www.server2.com/c/212123123/1), где можно получить содержимое A .

Когда клиент снова отправляетзапрос к серверу (www.server.com/content/1) - точка № 1 - браузер использует кэшированный 302 найденный и мгновенно перейти на URL из пункта № 4 (www.server2.com/c/212123123/1).

Дело в том, что кэшированный 302 найденный может быть устаревшим. Предполагаемое поведение состоит в том, что клиент сначала отправляет запрос с If-Modified-Since и If-None-Match заголовки сервера, которые имеют две опции:

  1. URL-адрес обновлен = отправлять 304 Не изменено
  2. URL-адрес устарел, и сервер заново создает URL-адрес и отправляет новые 302 Найдено

Чем клиент:

  1. Использовать кешd 302 Найдено (отправка сервером 304 Не изменено )
  2. Использовать новый 302 Найдено

Вопрос: Можно проверить, действительно ли 302 найдено все еще в силе, то есть ответ сервера с 304 не изменен или с новым 302 найдено ?Много времени провожу но это не работает.Спасибо.

...