إرسال معلومات مع إعادة توجيه HTTP إلى أن المتصفح يجب أن يرسل إلى الموقع المعاد توجيهها؟

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

سؤال

هل هذا ممكن .. على سبيل المثال، تخيل أنني أرد على طلب مع 302 (أو 303)، وأبلغ المتصفح القيام بطلب للحصول على موقع معين .. هل يوجد رأس يمكنني إرساله باستخدام HTTP 302، بحيث الطلب اللاحق من المتصفح تشمل هذا الرأس؟

أعلم أنني أستطيع القيام بذلك باستخدام رأس الموقع، كما هو الحال في إعادة توجيه وتحديد المعلومات الموجودة في عنوان URL كسلسلة من الاستعلام .. لكنني أتساءل عما إذا كانت هناك طريقة أفضل .. يبدو أنه يجب أن يكون سيناريو شرعي. وبعد

"لقد انتقل المحتوى، اذهب هنا .. أوه وستريد أن تأخذ هذا معك لإعطاء موقع إعادة توجيه"

أنا أظن سمين كبير لا!

شكرا مقدما.


يحرر

سبب ذلك فيما يتعلق أنماط PRG، حيث لديك عنوان URL وعنوان URL الخاص بك، نظرا لأنك نشر البيانات وهو غير مقبول، يقوم الخادم بإعادة توجيهك إلى GET، ويفعل بعض "السحر" من أجل "إرسال البيانات" إلى ذلك، باستخدام أحدث دورة في معظم الأحيان لتخزين متغير.

ومع ذلك، هذا يمكن انهيار السيناريوهات التي تحدث فيها العديد من طلبات PRG هذه، منحها ليست سيناريو شائع وعادة ما يحتاج أحد من القلق بشأن ذلك .. ولكن إذا قمت بذلك - ستحتاج إلى طريقة لتحديد الطلبات، فيمكن القيام بذلك إرسال المعلمات سلسلة الاستعلام إرسالها في 302 .. بحيث يمكن وضع إدخال محدد في حالة الجلسة وفقا لهذا الطلب.

كان السؤال يتعلق بمحاولة إزالة "مفتاح الطلب" من عنوان URL، وجعله أكثر ضمنية .. يبدو "ملفات تعريف الارتباط" للعمل، لكنها تجعل النافذة فقط للحصول على UPS أصغر.

سيكون من الرائع أن نقول عندما تذهب "الموقع" الذي حددته، أرسل هذه المعلمات.


يحرر

فقط لملاحظة، أنا لا أحاول الحصول على المتصفح لإرسال رؤوس تعسفية إلى الموقع، ولكن إذا كان هناك أي رؤوس مصممة لتلميح سياق الطلب (مثل معلمات الاستعلام يمكن).

هل كانت مفيدة؟

المحلول

استجابة إعادة التوجيه نفسها لا تحتوي على أي بيانات. يمكنك إعادة توجيه استخدام عنوان URL مع معلمات الاستعلام، لكن "الموقع" الجديد سيحتاج إلى معرفة كيفية استهلاك هذه المعلمات.

نصائح أخرى

لا، هذا غير ممكن. لا يمكنك إجبار العميل على شيء ما. يمكنك فقط القول "هذا ليس الموقع الصحيح، ولكن حاول هذا الموقع بدلا من ذلك". لكنها غير مضمونة أن يقوم العميل بإرسال نفس الطلب أو طلب آخر لهذا الموقع الجديد. وإخبار العميل بإضافة حقل رأس معين في هذا الطلب اللاحق إلى الموقع الجديد غير ممكن أيضا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top