幾點說明

中文翻譯版可能包含錯誤,應以 W3C 官方網站的英文原版為准

上方導航欄中可以查看每個小貼士的英文原版及繁體中文版

版權資訊在頁面最下方

使用標準的重定向:不要破壞後退按鈕!

應該使用的方法和應該避免的技術

不要使用“refresh”進行重定向

如果你想讓地址 http://www.example.org/foo 顯示存放在 http://www.example.org/bar 的頁面內容,你不應該 像這樣使用“refresh”技術:

<META HTTP-EQUIV=REFRESH CONTENT="1; URL=http://www.example.org/bar">.

為什麼呢?因為它將破壞“後退”按鈕。想像一下讀者按下“後退”按鈕之後,網頁將被再次刷新,讀者將看到同一個頁面。讀者很有可能會變得不舒服,然後關閉流覽器視窗——這是作為網頁作者的你不太想得到的效果吧。

請使用 HTTP 重定向

在使用“refresh” meta 標籤的處理重定向的時候,我們用的是一個文檔內部的特殊指令。用戶代理(流覽器或是 Markup Validator)會下載該頁面,查找其上下文,找到“refresh”指令,等待指定的時間(設置“0”秒,可以得到立即刷新的效果,也可以設置具體的等待秒數),然後繼續導入新位址。

另一方面,“HTTP 重定向”執行得更直接,因為它是在 另一層內 完成的。當 User Agent (i.e. a browser or the validator) 首次訪問伺服器並請求該文檔時,_伺服器_自身就會判斷出該文檔要重定向到另一個位址,於是伺服器便主動告知 user-agent 它應該直接訪問新位址。

同時,“HTTP 重定向”能提供更多的方法進行重定向,因為它除了能提供給 User Agent 新地址外,還有很多功能:伺服器能提供關於重定向的目的和類型的資訊,這些資訊允許 User Agent 根據不同的重定向種類進行不同的動作。HTTP 重定向(根據伺服器發送的相關 HTTP status code)的種類如下:Permanent Redirect (HTTP 301)、 Temporary Redirect (307)、undefined redirect (302)。

參閱下面的文檔和教程學習如何通過你的伺服器使用它。

延伸閱讀

關於“優質小貼士”

The W3C 優質小貼士 是為網頁開發者和設計者提供的一些有用的小短文,由 W3C 的 Quality Assurance Interest Group 負責管理和輯寫。中文版由 ZDYX(張杜一雄)維護。

雖然這些小貼士都被小組成員認真審查過,但這只是我們向你提供的點滴技巧。請注意,它們 不能 被認為是 W3C 的技術規範。

學習更多的技巧,瞭解怎樣提交你自己的智慧點滴,以及閱讀其他的優質小貼士,盡在 小貼士索引

Created by Dan Connolly - maintained by the the QA Team
Last modified $Date: 2006/11/24 01:20:24 $ Translated by ZDYX