301和302是最常見的HTTP重定向代碼。
301永久重定向
301重定向是指示鏈接的目標(biāo)已永久將URL更改為不同的URL,例如,當(dāng)seoexample更名為example時(shí),他們將URL從seoexample.com更改為example.com,每個(gè)seoexample.com頁面都通過永久的301重定向重定向到相應(yīng)的example.com頁面。
302臨時(shí)重定向
在實(shí)際的HTTP規(guī)范中,302旨在簡單地表明預(yù)期的URL不是給定資源的正確URL,然而,大多數(shù)網(wǎng)絡(luò)系統(tǒng)都以這種方式實(shí)現(xiàn)了臨時(shí)重定向,因此它通常被用作301的臨時(shí)版本。
為了區(qū)分原始302的兩個(gè)預(yù)期特征,HTTP代碼標(biāo)準(zhǔn)的管理機(jī)構(gòu)實(shí)施了303和307代碼,實(shí)際上,這兩種都不常用,302仍然可以作為臨時(shí)重定向。
303,原始302的預(yù)期功能
當(dāng)瀏覽器進(jìn)行PUT調(diào)用并通過GET響應(yīng)接收到不同的URL時(shí),它使用的是303協(xié)議,如果你熟悉該技術(shù)標(biāo)準(zhǔn),你幾乎可以忽略這一點(diǎn),因?yàn)檫@與搜索引擎優(yōu)化完全無關(guān)。
304未修改
用于數(shù)據(jù)緩存的代碼,如果服務(wù)器在過去提取了頁面的數(shù)據(jù),并且客戶端請求該頁面,則服務(wù)器將檢查該頁面是否已更改,如果頁面以304響應(yīng),則表示服務(wù)器已經(jīng)具有該頁面的最新版本,然后,服務(wù)器可以提供它已有的內(nèi)容,而無需重新運(yùn)行代碼,重新獲取資產(chǎn)或重新生成頁面。
305使用代理
此代碼是一種奇怪的傳統(tǒng)措施,服務(wù)器用它告訴客戶端它只能通過指定的代理訪問服務(wù)器,它曾經(jīng)被濫用,隨后被瀏覽器忽略,基本上已被放棄,類似地,306代碼指定客戶端應(yīng)該使用特定代理,并且不再使用。
307臨時(shí)重定向
當(dāng)瀏覽器向服務(wù)器請求URL 1時(shí),但URL已暫時(shí)更改,服務(wù)器將使用307和新的URL 2進(jìn)行響應(yīng),但是,由于它是臨時(shí)重定向,因此瀏覽器將不存儲此信息,當(dāng)瀏覽器下次請求URL 1時(shí),服務(wù)器將再次檢查并查看重定向是否已被刪除。
308永久重定向
這意味著要成為301重定向的一個(gè)更現(xiàn)代,更流暢的版本,當(dāng)瀏覽器向服務(wù)器請求URL 1時(shí),服務(wù)器說“實(shí)際上,它現(xiàn)在是URL 2”。然后,流量將正常進(jìn)行到URL 2,而不用更改HTTP的方法;?這允許通過表單提交進(jìn)行數(shù)據(jù)傳輸而不會(huì)發(fā)生問題,例如,重定向失敗,在所有這些中,你只需關(guān)心?301,302,307和308。
GET和POST
為了理解在任何特定時(shí)間應(yīng)使用哪種重定向,您需要了解一些關(guān)于HTTP如何工作的信息。
GET和POST都是瀏覽器或客戶端與服務(wù)器通信的方法,簡而言之,GET就是瀏覽器向服務(wù)器請求特定數(shù)據(jù),POST將數(shù)據(jù)提交給要處理的服務(wù)器。
GET請求可以被緩存,它們保留在瀏覽器歷史記錄中,可以添加書簽,并專門用于檢索數(shù)據(jù),“抓住這個(gè)URL上的內(nèi)容”本質(zhì)上是一個(gè)GET請求。
POST請求更像是要由服務(wù)器處理的腳本,您是否曾經(jīng)使用過一種基于網(wǎng)絡(luò)的搜索表單,當(dāng)您點(diǎn)擊“返回”按鈕或嘗試刷新頁面時(shí),拋出“您需要重新提交數(shù)據(jù)到表單”警告?這是因?yàn)樗且粋€(gè)POST請求,POST請求不會(huì)被緩存,不會(huì)保留在瀏覽器歷史記錄中,也不能被添加書簽,因?yàn)樗鼈兓蚨嗷蛏偈且唤M到服務(wù)器的命令,而不是靜態(tài)資源的請求。
301重定向和308重定向的核心主要區(qū)別在于308重定向不允許從POST?更改為GET,302和307也是如此;?307是不允許改變的。
如果您的網(wǎng)址為1的表單提取了來自網(wǎng)址2的數(shù)據(jù),并且您將網(wǎng)址2更改為網(wǎng)址3,則表單將會(huì)中斷而不執(zhí)行特定操作,在這種情況下,使用更高編號的重定向307或308將很重要。
在絕大多數(shù)情況下,特別是當(dāng)你只關(guān)注SEO時(shí),你只需使用301永久重定向或者302臨時(shí)重定向。
如果您在搜索引擎優(yōu)化是您的主要關(guān)注點(diǎn)時(shí)是否應(yīng)該使用307或308重定向?一般來說,答案是否定的,307和308都是HTTP 1.1標(biāo)準(zhǔn),雖然這些更新更高效,但它們并不一定在服務(wù)器,瀏覽器或搜索引擎中得到廣泛支持,在被廣泛采用之前,最好將重定向保留為301或302。
你應(yīng)該使用哪個(gè)?
如上所述,301重定向是永久重定向,302是臨時(shí)重定向,你應(yīng)該使用哪一個(gè),什么時(shí)候?
302重定向被視為臨時(shí)更改,不會(huì)被緩存或保存,實(shí)質(zhì)上,302重定向不被搜索引擎認(rèn)為是重要的,如果他們抓取您的網(wǎng)站,他們會(huì)使用它,但他們會(huì)認(rèn)為原始鏈接是真正的鏈接。
在某些情況下,302重定向可能很有價(jià)值,它們可用于地理定位,分割測試,某些形式的用戶跟蹤以及意圖為臨時(shí)的重定向,例如,在維護(hù)站點(diǎn)期間更改URL以便內(nèi)容仍然可用于其他URL,可以使用302來完成。
302重定向不會(huì)傳遞頁面權(quán)重或?qū)⑴fURL鏈接到新URL,如果您要將站點(diǎn)的URL從一個(gè)更改為另一個(gè),則不需要使用302重定向,這樣做基本上會(huì)將所有網(wǎng)站價(jià)值留在舊網(wǎng)址上。
在某些情況下,搜索引擎會(huì)將302認(rèn)為是301,并且新網(wǎng)站應(yīng)具有舊網(wǎng)站的價(jià)值。但是,如果發(fā)生這種情況,這很可能需要一些時(shí)間,并且與永久重定向相比,它們可能會(huì)給您帶來更少的價(jià)值,您實(shí)質(zhì)上是在向百度表示您不知道如何正確遷移某個(gè)網(wǎng)站,并且他們會(huì)在記入您的同時(shí)記住這一點(diǎn),使用302重定向時(shí),您將失去大部分的頁面權(quán)重傳遞。
如上所述,301重定向是永久性的,如果您正在從一個(gè)網(wǎng)址遷移到另一個(gè)網(wǎng)站,合并兩個(gè)網(wǎng)站,或者更改不希望被還原的網(wǎng)址,則可以使用301重定向。
301重定向旨在通知瀏覽器和搜索引擎從一個(gè)URL移動(dòng)到另一個(gè)URL,就像在你搬家時(shí)沒有更改快遞地址,你的快遞可能會(huì)產(chǎn)生配送失敗等不可抗因素。
一般來說,301是永久性的,如果你想將頁面權(quán)重傳遞到新URL,請使用301,如果需要臨時(shí)改變URL,則可以使用302 ,但他不會(huì)轉(zhuǎn)移頁面權(quán)重。
301重定向是永久的,百度識別301需要多久?你應(yīng)該保持重定向多久?
這可能是半年,或者比半年更長,這樣我們才能真正確定指向舊網(wǎng)址的所有內(nèi)容都指向新網(wǎng)址。”
長期保持重定向?qū)τ诎俣却_保他們已正確編制索引并將有關(guān)舊頁面的所有內(nèi)容重定向到新頁面非常重要,對于擁有舊頁面書簽的用戶來說,更改他們的書簽也很重要,當(dāng)你刪除重定向,并有人試圖訪問舊頁面,將會(huì)產(chǎn)生404。