就像一個非常快速的點。當建議是重定向用戶時,它通常使用方法
Post-Redirect-Get方法。因此,用戶通常不會看到「您正在重定向」的信息或類似信息。服務器在響應中發送重定向,瀏覽器採取行動並轉到給定的位置。
簡單例子:
想象一下,你有一個網站:
一個原因是功能分離。因此,登錄頁面專門用於登錄,儀表板頁面用於顯示用戶的帳戶(或類似信息)。
是的,你可以只在登錄頁面中包含儀表板/其他頁面而不用重定向,但是會遇到另一個問題。如果用戶可以使用/ login和/ dashboard訪問他們的儀表板,如果他們爲登錄頁面添加書籤會發生什麼?另外,如果你在一個POST頁面上,那麼如果用戶想刷新頁面,那麼瀏覽器可能會警告他們他們會重新發布。從純粹的可用性角度來看,如果我不得不繼續接受在Facebook上看到我的新聞Feed,這將非常煩人。
每個刷新發布頁面上會記錄用戶回。如果你啓用了審計日誌,那麼你將有一個「登錄」記錄的負載只是因爲用戶想要刷新新聞提要。試想一下,如果您的網站在每個用戶登錄時都做了某些事情(例如發送電子郵件)。只需刷新儀表板頁面就會每次發送一封電子郵件。
另一個原因是,當未經身份驗證的用戶嘗試訪問受限制的頁面時,很多網站將提供重定向URL。登錄後,網站將用戶重定向到他們最初請求的頁面。用於登錄的Post-Redirect-Get使這更容易做到(如果您已經實現了它的一般登錄,那麼它沒有更多的努力來擁有此功能)。
還有其他各種原因,但對我來說最大的一個是形態沒有重新提交。與僅僅登錄無關,但我曾經在我的網站上沒有實現Post-Redirect-Get方法的「測試短信」功能。有人發送了一條測試消息,然後保持按下刷新。在幾分鐘內,我所有的短信信用都用完了。是的,這個人可能剛剛回來並重新提交,但刷新更容易。
「登錄應用程序頁面可能爲用戶加載着陸頁」 - 這與重定向有何不同?你如何做到這一點沒有一個? – Oded
我已經寫了一個答案,但也投移動的問題http://webmasters.stackexchange.com - 這是更適合在那裏,我覺得:) –
@Jonathon枕:我覺得這是一個很有(網絡)開發人員的話題,下面有證據表明並非每個Web開發人員都明白這一點。 – grossvogel