Я думаю, что это невозможно, но я попрошу совета у опытных людей.
Представьте себе ситуацию:
- Клиент отправляет запрос на получение контента A , т.е. www.server.com/content/1.
- Сервер обрабатывает запрос и создает ссылку для перенаправления (каждый запрос = новая ссылка).Процесс создания ссылки перенаправления довольно дорогой.
- Сервер отправляет ответ 302 Found клиенту.Ответ содержит Местоположение , Истекает , ETag и Last-Modified заголовки, а также полезную нагрузку с гипертекстом (https://tools.ietf.org/html/rfc7231#section-6.4.3).
- Клиент перенаправляется на новый 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 заголовки сервера, которые имеют две опции:
- URL-адрес обновлен = отправлять 304 Не изменено
- URL-адрес устарел, и сервер заново создает URL-адрес и отправляет новые 302 Найдено
Чем клиент:
- Использовать кешd 302 Найдено (отправка сервером 304 Не изменено )
- Использовать новый 302 Найдено
Вопрос: Можно проверить, действительно ли 302 найдено все еще в силе, то есть ответ сервера с 304 не изменен или с новым 302 найдено ?Много времени провожу но это не работает.Спасибо.