資源描述:
《http返回碼中301跳轉(zhuǎn)和302跳轉(zhuǎn)區(qū)別》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、HTTP返回碼中301跳轉(zhuǎn)和302跳轉(zhuǎn)的區(qū)別昨天逛論壇看到有人提到302跳轉(zhuǎn)被降權(quán)的問題,本人一直以來只接觸過301重定向,因此對(duì)302跳轉(zhuǎn)知之甚少。今天刻意收集了一些資料,這里永孚科技小編就整理一下,分享給還不太清楚它們的區(qū)別及含義的站長(zhǎng)朋友們。一、官方說法301,302都是HTTP狀態(tài)的編碼,都代表著某個(gè)URL發(fā)生了轉(zhuǎn)移,不同之處在于:301redirect:301代表永久性轉(zhuǎn)移(PermanentlyMoved)。302redirect:302代表暫時(shí)性轉(zhuǎn)移(TemporarilyMoved)。這是很官方的說法,那么它們的區(qū)別到底是什么呢?二、現(xiàn)實(shí)中的
2、差異1.對(duì)于用戶301,302對(duì)用戶來說沒有區(qū)別,他們看到效果只是一個(gè)跳轉(zhuǎn),瀏覽器中舊的URL變成了新的URL。頁面跳到了這個(gè)新的url指向的地方。2.對(duì)于引擎及站長(zhǎng)302:302轉(zhuǎn)向可能會(huì)有URL規(guī)范化及網(wǎng)址劫持的問題??赡鼙凰阉饕媾袨榭梢赊D(zhuǎn)向,甚至認(rèn)為是作弊。網(wǎng)址規(guī)范化請(qǐng)參見:網(wǎng)址劫持302重定向和網(wǎng)址劫持(URLhijacking)有什么關(guān)系呢?這要從搜索引擎如何處理302轉(zhuǎn)向說起。從定義來說,從網(wǎng)址A做一個(gè)302重定向到網(wǎng)址B時(shí),主機(jī)服務(wù)器的隱含意思是網(wǎng)址A隨時(shí)有可能改主意,重新顯示本身的內(nèi)容或轉(zhuǎn)向其他的地方。大部分的搜索引擎在大部分情況下,當(dāng)收到
3、302重定向時(shí),一般只要去抓取目標(biāo)網(wǎng)址就可以了,也就是說網(wǎng)址B。實(shí)際上如果搜索引擎在遇到302轉(zhuǎn)向時(shí),百分之百的都抓取目標(biāo)網(wǎng)址B的話,就不用擔(dān)心網(wǎng)址URL劫持了。問題就在于,有的時(shí)候搜索引擎,尤其是Google,并不能總是抓取目標(biāo)網(wǎng)址。為什么呢?比如說,有的時(shí)候A網(wǎng)址很短,但是它做了一個(gè)302重定向到B網(wǎng)址,而B網(wǎng)址是一個(gè)很長(zhǎng)的亂七八糟的URL網(wǎng)址,甚至還有可能包含一些問號(hào)之類的參數(shù)。很自然的,A網(wǎng)址更加用戶友好,而B網(wǎng)址既難看,又不用戶友好。這時(shí)Google很有可能會(huì)仍然顯示網(wǎng)址A。由于搜索引擎排名算法只是程序而不是人,在遇到302重定向的時(shí)候,并不能像人
4、一樣的去準(zhǔn)確判定哪一個(gè)網(wǎng)址更適當(dāng),這就造成了網(wǎng)址URL劫持的可能性。也就是說,一個(gè)不道德的人在他自己的網(wǎng)址A做一個(gè)302重定向到你的網(wǎng)址B,出于某種原因,Google搜索結(jié)果所顯示的仍然是網(wǎng)址A,但是所用的網(wǎng)頁內(nèi)容卻是你的網(wǎng)址B上的內(nèi)容,這種情況就叫做網(wǎng)址URL劫持。你辛辛苦苦所寫的內(nèi)容就這樣被別人偷走了301:當(dāng)網(wǎng)頁A用301重定向轉(zhuǎn)到網(wǎng)頁B時(shí),搜索引擎可以肯定網(wǎng)頁A永久的改變位置,或者說實(shí)際上不存在了,搜索引擎就會(huì)把網(wǎng)頁B當(dāng)作唯一有效目標(biāo)。301的好處是:1.沒有網(wǎng)址規(guī)范化問題。2.也很重要的,網(wǎng)頁A的PR網(wǎng)頁級(jí)別會(huì)傳到網(wǎng)頁B。三、Apache中實(shí)現(xiàn)30
5、1、302方法一:urlrewrite,mod_rewriteRewriteengineonRewriteCond%{HTTP_HOST}^cmp.soso.com[NC]RewriteRule^/js/(.*)http://www.soso.com/js/$1[R=301]ServerNamecmp.soso.com將cmp.soso.com中js目錄的下所有訪問重定向到http://www.soso.com/js/,指定跳轉(zhuǎn)返回碼為301。對(duì)于[R=301]的詳解:‘redirect
6、R[=code]‘(強(qiáng)制重定向redirect)以http://thi
7、shost[:thisport]/(使新的URL成為一個(gè)URI)為前綴的Substitution可以強(qiáng)制性執(zhí)行一個(gè)外部重定向。如果code沒有指定,則產(chǎn)生一個(gè)HTTP響應(yīng)代碼302(臨時(shí)性移動(dòng))。如果需要使用在300-400范圍內(nèi)的其他響應(yīng)代碼,只需在此指定這個(gè)數(shù)值即可,另外,還可以使用下列符號(hào)名稱之一:temp(默認(rèn)的),permanent,seeother.用它可以把規(guī)范化的URL反饋給客戶端,如,重寫“/~”為“/u/”,或?qū)?u/user加上斜杠,等等。注意:在使用這個(gè)標(biāo)記時(shí),必須確保該替換字段是一個(gè)有效的URL!否則,它會(huì)指向一個(gè)無效的位置!并且要
8、記住,此標(biāo)記本身只是對(duì)URL加上http://thishost[:thisport]/的前綴,重寫操作仍然會(huì)繼續(xù)。通常,你會(huì)希望停止重寫操作而立即重定向,則還需要使用’L'標(biāo)記.方法二:Redirect,涉及模塊:mod_alias例:DocumentRoot/home/qmhball/web/mybranches/stat_3276/oa/ServerNameoalogin.comRedirect301/login.phphttp://www.soso.com將oalogi
9、n.com下對(duì)login.php的訪問重定向到htt