日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

http狀態(tài)碼301和302詳解及區(qū)別___重點

 一本正經(jīng)地胡鬧 2019-04-19

        一直對http狀態(tài)碼301和302的理解比較模糊,在遇到實際的問題和翻閱各種資料了解后,算是有了一定的理解。這里記錄下,希望能有新的認識。大家也共勉。

官方的比較簡潔的說明:

        301 redirect: 301 代表永久性轉(zhuǎn)移(Permanently Moved)

        302 redirect: 302 代表暫時性轉(zhuǎn)移(Temporarily Moved )

        ps:這里也順帶記住了兩個比較相近的英語單詞(permanently、temporarily),嘻哈!

        詳細來說,301和302狀態(tài)碼都表示重定向,就是說瀏覽器在拿到服務(wù)器返回的這個狀態(tài)碼后會自動跳轉(zhuǎn)到一個新的URL地址,這個地址可以從響應(yīng)的Location首部中獲?。ㄓ脩艨吹降男Ч褪撬斎氲牡刂稟瞬間變成了另一個地址B)——這是它們的共同點。他們的不同在于。301表示舊地址A的資源已經(jīng)被永久地移除了(這個資源不可訪問了),搜索引擎在抓取新內(nèi)容的同時也將舊的網(wǎng)址交換為重定向之后的網(wǎng)址;302表示舊地址A的資源還在(仍然可以訪問),這個重定向只是臨時地從舊地址A跳轉(zhuǎn)到地址B,搜索引擎會抓取新的內(nèi)容而保存舊的網(wǎng)址。

      這里開啟傻瓜自問自答模式(自己可能想到的疑問):

1、什么是重定向啊?

        就是地址A跳轉(zhuǎn)到地址B啦。百度百科的解釋:重定向(Redirect)就是通過各種方法將各種網(wǎng)絡(luò)請求重新定個方向轉(zhuǎn)到其它位置(如:網(wǎng)頁重定向、域名的重定向、路由選擇的變化也是對數(shù)據(jù)報文經(jīng)由路徑的一種重定向)。

2、可是,為什么要進行重定向啊?什么時候需要重定向呢?

        想跳就跳,就跳的漂亮。還是借鑒百度百科:

1)網(wǎng)站調(diào)整(如改變網(wǎng)頁目錄結(jié)構(gòu));
2)網(wǎng)頁被移到一個新地址;
3)網(wǎng)頁擴展名改變(如應(yīng)用需要把.php改成.Html或.shtml)。
        這種情況下,如果不做重定向,則用戶收藏夾或搜索引擎數(shù)據(jù)庫中舊地址只能讓訪問客戶得到一個404頁面錯誤信息,訪問流量白白喪失;再者某些注冊了多個域名的網(wǎng)站,也需要通過重定向讓訪問這些域名的用戶自動跳轉(zhuǎn)到主站點等。

3、那么,什么時候進行301或者302跳轉(zhuǎn)呢?
        當(dāng)一個網(wǎng)站或者網(wǎng)頁24—48小時內(nèi)臨時移動到一個新的位置,這時候就要進行302跳轉(zhuǎn),打個比方說,我有一套房子,但是最近走親戚去親戚家住了,過兩天我還回來的。而使用301跳轉(zhuǎn)的場景就是之前的網(wǎng)站因為某種原因需要移除掉,然后要到新的地址訪問,是永久性的,就比如你的那套房子其實是租的,現(xiàn)在租期到了,你又在另一個地方找到了房子,之前租的房子不住了。
    清晰明確而言:
使用301跳轉(zhuǎn)的場景:
1)域名到期不想續(xù)費(或者發(fā)現(xiàn)了更適合網(wǎng)站的域名),想換個域名。
2)在搜索引擎的搜索結(jié)果中出現(xiàn)了不帶www的域名,而帶www的域名卻沒有收錄,這個時候可以用301重定向來告訴搜索引擎我們目標(biāo)的域名是哪一個。
3)空間服務(wù)器不穩(wěn)定,換空間的時候。

使用302跳轉(zhuǎn)的場景:
        --盡量使用301跳轉(zhuǎn)!

4、為什么盡量要使用301跳轉(zhuǎn)?——網(wǎng)址劫持!
        這里摘錄百度百科上的解釋:
       從網(wǎng)址A 做一個302 重定向到網(wǎng)址B 時,主機服務(wù)器的隱含意思是網(wǎng)址A 隨時有可能改主意,重新顯示本身的內(nèi)容或轉(zhuǎn)向其他的地方。大部分的搜索引擎在大部分情況下,當(dāng)收到302 重定向時,一般只要去抓取目標(biāo)網(wǎng)址就可以了,也就是說網(wǎng)址B。如果搜索引擎在遇到302 轉(zhuǎn)向時,百分之百的都抓取目標(biāo)網(wǎng)址B 的話,就不用擔(dān)心網(wǎng)址URL 劫持了。問題就在于,有的時候搜索引擎,尤其是Google,并不能總是抓取目標(biāo)網(wǎng)址。比如說,有的時候A 網(wǎng)址很短,但是它做了一個302 重定向到B 網(wǎng)址,而B 網(wǎng)址是一個很長的亂七八糟的URL 網(wǎng)址,甚至還有可能包含一些問號之類的參數(shù)。很自然的,A 網(wǎng)址更加用戶友好,而B 網(wǎng)址既難看,又不用戶友好。這時Google 很有可能會仍然顯示網(wǎng)址A。由于搜索引擎排名算法只是程序而不是人,在遇到302 重定向的時候,并不能像人一樣的去準(zhǔn)確判定哪一個網(wǎng)址更適當(dāng),這就造成了網(wǎng)址URL 劫持的可能性。也就是說,一個不道德的人在他自己的網(wǎng)址A 做一個302 重定向到你的網(wǎng)址B,出于某種原因, Google 搜索結(jié)果所顯示的仍然是網(wǎng)址A,但是所用的網(wǎng)頁內(nèi)容卻是你的網(wǎng)址B 上的內(nèi)容,這種情況就叫做網(wǎng)址URL 劫持。你辛辛苦苦所寫的內(nèi)容就這樣被別人偷走了。302 重定向所造成的網(wǎng)址URL 劫持現(xiàn)象,已經(jīng)存在一段時間了。不過到目前為止,似乎也沒有什么更好的解決方法。在正在進行的谷歌大爸爸?jǐn)?shù)據(jù)中心轉(zhuǎn)換中,302 重定向問題也是要被解決的目標(biāo)之一。從一些搜索結(jié)果來看,網(wǎng)址劫持現(xiàn)象有所改善,但是并沒有完全解決。
        我的理解是,從網(wǎng)站A(網(wǎng)站比較爛)上做了一個302跳轉(zhuǎn)到網(wǎng)站B(搜索排名很靠前),這時候有時搜索引擎會使用網(wǎng)站B的內(nèi)容,但卻收錄了網(wǎng)站A的地址,這樣在不知不覺間,網(wǎng)站B在為網(wǎng)站A作貢獻,網(wǎng)站A的排名就靠前了。
      301跳轉(zhuǎn)對查找引擎是一種對照馴良的跳轉(zhuǎn)編制,也是查找引擎能夠遭遇的跳轉(zhuǎn)編制,它告訴查找引擎,這個地址棄用了,永遠轉(zhuǎn)向一個新地址,可以轉(zhuǎn)移新域名的權(quán)重。而302重定向很容易被搜索引擎誤認為是利用多個域名指向同一網(wǎng)站,那么你的網(wǎng)站就會被封掉,罪名是“利用重復(fù)的內(nèi)容來干擾Google搜索結(jié)果的網(wǎng)站排名”。


        自問自答模式先告一段落,這里分享下我在NodeJs中實現(xiàn)跳轉(zhuǎn)的場景:

        之前做過一個重構(gòu)的項目,由于各種原因,我們的網(wǎng)站的登錄以及注冊部分需要剝離為另一個網(wǎng)站,域名和之前的不同,所以,我們需要保證舊的地址也能重定向到地址中去,我們就在舊的系統(tǒng)的node層中作了一個重定向,代碼類似這樣:


這里沒有設(shè)置狀態(tài)碼,發(fā)現(xiàn)默認是302跳轉(zhuǎn),然后我們設(shè)置了301狀態(tài)碼,類似這樣:


用fiddle抓包(上面的302調(diào)整我就不上圖了),看到效果:


以上是使用Express,用nodejs原生的代碼實現(xiàn)類似這樣:


        先到這里了,路漫漫其修遠兮,下班回家。

轉(zhuǎn)自 https://blog.csdn.net/grandPang/article/details/47448395

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多