Отправка информации с перенаправлением HTTP, которую браузер должен отправить в перенаправленное местоположение?

StackOverflow https://stackoverflow.com/questions/961907

Вопрос

Возможно ли это?.например, представьте, что я отвечаю на запрос с помощью 302 (или 303) и сообщаю браузеру выполнить запрос в заданное местоположение..есть ли заголовок, который я могу отправить с HTTP 302, чтобы последующий запрос из браузера включал этот заголовок?

Я знаю, что мог бы сделать это с заголовком location, как в redirect и указать информацию в URL в виде строки запроса..но мне интересно, есть ли способ получше..кажется, что это должен быть законный сценарий..

" Контент переместился, идите сюда ..о, и вы захотите взять это с собой, чтобы передать в место перенаправления '

Я предполагаю, что большое жирное "нет"!

Заранее благодарю.


Редактировать

Причина этого связана с шаблонами PRG, где у вас есть URL-адрес GET и URL-адрес POST, учитывая, что вы отправляете данные, и это неприемлемо, сервер перенаправляет вас на GET и выполняет некоторую "магию", чтобы "отправить данные" в этот GET, чаще всего используя состояние сеанса для хранения переменной.

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

Вопрос касался попытки удалить "ключ запроса" из URL-адреса и сделать его более неявным..файлы cookie "кажутся" работающими, но они только уменьшают окно для ошибок.

Было бы здорово сказать, что когда вы отправитесь в указанное мной "местоположение", отправьте эти параметры.


Редактировать

Просто чтобы отметить, я не пытаюсь заставить браузер отправлять произвольные заголовки в местоположение, но если есть КАКИЕ-либо заголовки, предназначенные для указания контекста запроса (например, параметры querystring могли бы).

Это было полезно?

Решение

Сам ответ перенаправления не содержит никаких данных.Вы можете перенаправить, используя URL-адрес с параметрами запроса, но новому "местоположению" нужно будет знать, как использовать эти параметры.

Другие советы

Нет, это невозможно.Вы не можете принудить клиента к чему-либо.Вы просто можете сказать: “это неподходящее место, но попробуйте вместо этого это место”.Но это не гарантирует, что клиент отправит тот же запрос или другой запрос в это новое местоположение.И указание клиенту добавить определенное поле заголовка в этом последующем запросе в новое местоположение также невозможно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top