באפליקצית web שאני כותב, החלטתי לעשות עיצוב הדוק במיוחד. כאשר ניגשים לדף כלשהו באפליקציה, ולא משנה איזה, ואתם לא logged in, אתם מקבלים את הדף שמבקש מכם להזדהות כלפי המערכת. אין redirect – הדף מופיע תחת ה-URL שאליו ניסיתם להגיע.
כאשר אתם מקלידים את הסיסמה, אם היא נכונה, הדף שאת כתובתו נתתם עולה. שוב, אין redirect. סיסמה לא נכונה – דף כניסה למערכת. סיסמה נכונה – הדף שביקשתם.
על פניו, יופי של עיצוב. מסתבר שיש בעיצוב בעיה קלה. אם אתם הולכים לדף אחר באפליקציה מהדף הראשון אליו נכנסתם, ואז מבקשים לחזור לדף המקורי, אתם מקבלים הודעה מהדפדפן שלכם שאומרת “הדף הזה הוא תוצר של פעולת Post” (היא, הרי שליחת הסיסמה). זה מעצבן ולא רלוונטי.
בקיצור – עיצוב הדוק מידי. אני עכשיו בודק אם אפשר לעשות redirect מהדף post אל עצמו ב-Get. קוד מספר 303 אמור היה לעשות את זה, אבל הוא לא כל כך עובד לי כרגע.
שחר
עדכון
הסיבה שלא עבד היתה שמוזילה, משום מה, התעלם מהבקשה לעשות redirect אם היה יותר מידי בשר לגוף ה-HTML בשאילתה שהחזירה 303. קיצצתי ללא רחם, והתוצאה היא redirect מהיר ושלא רואים.
מה שנשאר עכשיו זה למצוא קוד HTML וגם קוד Javascript, כמה שיותר קטן, שעושה redirect גם הוא. זה יאפשר לדפדפנים שלא תומכים ב-303 לעשות את הדבר הנכון.
ש.