135 2295 6919
135 2295 6919
公司主站W(wǎng)ebsite:
www.controlmeasurement.com
電子郵箱:
qykh2009@163.com
公司地址:
北京市朝陽區(qū)亞運村天創(chuàng)世緣B2座30整層
Software 軟件百科
類別:網(wǎng)站建設(shè)訪問量:3430編輯:anonymousUser 日期:2024-11-01 20:58:00
網(wǎng)站建設(shè)中使用重定向的原因有很多,比如跟蹤對內(nèi)容或廣告的點擊,域名拼寫錯誤,URL別名或短地址,或者域名變更。甚至還有一個叫做Post/Redirect/Get(PRG)的設(shè)計模式,用于避免重復(fù)提交表單。這種模式本質(zhì)上就是在提交表單時調(diào)用POST操作,重定向瀏覽器,最好采用HTTP303響應(yīng)。這些都是網(wǎng)站制作中把用戶從一個站點重定向到另一個站點的合理原因。但是,任何事物都有兩面性,與其他好工具一樣,使用不當或過度使用都會導(dǎo)致不盡如人意的結(jié)果,我們在很多網(wǎng)站建設(shè)公司的案例中都發(fā)現(xiàn)了這樣的問題。首先,讓我們根據(jù)HTTP標準來討論一下網(wǎng)站建設(shè)中的重定向。 根據(jù)RFC2616超文本傳輸協(xié)議,有幾種重定向代碼,其中包括網(wǎng)站設(shè)計人員都熟悉的301永久轉(zhuǎn)移和302臨時重定向。凡是與重定向有關(guān)的代碼都是以3開頭的,3xx是一類狀態(tài)碼,需要用戶進一步的動作來完成需求。下面的表格中我們列出所有重定向的3xx代碼。 狀態(tài)碼名稱作用說明 300 Multiple Choices 多重選擇請求的資源對應(yīng)多個表述方式,用戶可以選擇自己想要的表述方式。 301 Move Permanently 永久遷移所請求的資源已經(jīng)被指派到新的永久URIhttp://www.sunsin.net/,將來任何對該資源的引用都應(yīng)該使用所返回的URI。 302 Found 已找到所請求的資源臨時存在于另一個URI,但是客戶端應(yīng)該在將來的請求中繼續(xù)使用該請求URI。 303 See Other 可以在另一個URI中找到該請求的響應(yīng),應(yīng)該用GET方法到該URI獲取。這種方法主要適用于PRG設(shè)計模式,使POST的輸出重定向到用戶代理。 304 Not Modified 未修改如果客戶端執(zhí)行了一個有條件的GET請求,且訪問是允許的,但是文檔沒有變化,服務(wù)器應(yīng)該用該狀態(tài)碼進行響應(yīng)。 305 Use Proxy 使用代理請求的資源必須通過Location頭提供的代理訪問。 306 未使用該狀態(tài)碼在規(guī)范中還沒有使用 307 Temporary Redirect 臨時跳轉(zhuǎn)請求的資源臨時存在于另一個URI中。 雖然網(wǎng)站設(shè)計時我們有很多方法進行重定向,但是不同的重定向方法在網(wǎng)站建設(shè)中會產(chǎn)生不同的利弊。把用戶從一個頁面重定向到另一個,最簡單的方法是創(chuàng)建一個HTML頁面,請求用戶點擊頁面上的鏈接,從而前進到他們真正要訪問的資源。這種方法最大的問題在于要求用戶再次點擊鏈接才能進入頁面。稍微好點的方法則是利用元標簽刷新,自動把新的頁面發(fā)送到瀏覽器,代碼如下: ,雖然這種方法解決了用戶交互的問題,但是我們?nèi)匀恍枰埱骔eb服務(wù)器,使其獲取請求并響應(yīng),把一個頁面發(fā)送回用戶的瀏覽器。另一個更加成熟的方法是使用服務(wù)器端代碼。幾乎所有的程序設(shè)計語言都支持重定向。服務(wù)端重定向好處在于無需請求瀏覽器解析HTML,而是直接通過響應(yīng)頭中的HTTP狀態(tài)碼進行重定向。利用HTTP,通過在響應(yīng)頭中定義各種數(shù)據(jù)傳輸?shù)奶卣?,可以響?yīng)頭中具有請求或響應(yīng)的運行參數(shù)。 通過在響應(yīng)頭中加入HTTP狀態(tài)碼,我們已經(jīng)提高了重定向效率,但是這樣仍然需要服務(wù)器解析頁面代碼。為了不用代碼進行重定向,我們可以利用web server中嵌入的模塊進行重定向。在IIS服務(wù)器上有個模塊叫做“HTTP重定向”,如下圖, 通過IIS內(nèi)置模塊進行重定向可以繞開服務(wù)器端的頁面渲染管道,在頁面還未被服務(wù)器渲染之前就返回跳轉(zhuǎn)狀態(tài)碼了,節(jié)約了一定的服務(wù)器資源。類似IIS的重定向模塊在其它web server上也有,如Apache的mod_alias和mod_rewrite模塊。 討論過了不同的方法實現(xiàn)網(wǎng)站建設(shè)中的重定向利弊,希望對廣大網(wǎng)站制作和網(wǎng)站設(shè)計人員對如何優(yōu)化重定向有所了解。最后要說的是,應(yīng)該選用正確的工具。最理想的情況是盡量少用重定向,重定向總是延遲返回給客戶他們想要的資源,還會占用計算資源,許多方法會把重定向搞得一團糟,既破壞了用戶瀏覽,又降低了搜索引擎的排名,這些都是網(wǎng)站建設(shè)人員要盡量避免使用重定向的原因。
北京乾元坤和科技有限公司(www.controlmeasurement.com)(北京網(wǎng)站建設(shè),ERP系統(tǒng)開發(fā),OA系統(tǒng)開發(fā))網(wǎng)絡(luò)部精心專稿 版權(quán)所有 轉(zhuǎn)載請表明出處
【上一條】 沒有上一條
【下一條】 沒有下一條