最近在看《圖解HTTP》這本書指攒,內(nèi)容很基礎(chǔ)足删,也很簡單掖看。一起買來的《HTTP權(quán)威指南》相對來說就太“權(quán)威”了眨层。接下來會對書中的內(nèi)容或者個人認(rèn)為的疑點(diǎn)進(jìn)行一下總結(jié)庙楚。
301 、302是什么?
301趴樱、302等狀態(tài)碼是響應(yīng)報文中狀態(tài)行中的組成部分馒闷。狀態(tài)碼(Status Code)的職責(zé)是當(dāng)客戶端向服務(wù)器發(fā)送請求時,描述返回的請求結(jié)果伊佃。
標(biāo)準(zhǔn)狀態(tài)碼由3位數(shù)字和原因短語組成窜司,主要包含5類:
類別 | 原因短語 | |
---|---|---|
1XX | Informational(信息性狀態(tài)碼) | 接受的請求正在處理 |
2XX | Success(成功狀態(tài)碼) | 請求正常處理完畢 |
3XX | Redirection(重定向狀態(tài)碼) | 需要進(jìn)行附加操作以完成請求 |
4XX | Client Error(客戶端錯誤狀態(tài)碼) | 服務(wù)器無法處理請求 |
5XX | Server Error(服務(wù)器錯誤狀態(tài)碼) | 服務(wù)器處理請求出錯 |
301、302代表了什么航揉?
-
301 Moved Permanently:永久性重定向塞祈。
表示請求的資源已被永久分配了新的URI∷浚可以簡單理解為該資源已經(jīng)被永久改變了位置议薪。 -
302 Found:臨時性重定向。
表示資源被臨時改變位置并分配了新的URI媳友。
兩種重定向之后的URI會包含在響應(yīng)頭中Location
首部字段中斯议。
301、302區(qū)別
301永久重定向使得搜索引擎在抓取新內(nèi)容的同時將舊的網(wǎng)址替換為重定向后的網(wǎng)址醇锚。而302臨時性定向使得搜索引擎會抓去新的內(nèi)容卻保留舊的網(wǎng)址哼御。
301、302適用場景
301:域名切換
焊唬、HTTP遷移到HTTPS
302:未登錄用戶訪問個人中心時重定向到登錄頁面
恋昼、404頁面提示后跳轉(zhuǎn)到首頁
302與網(wǎng)址劫持
網(wǎng)址劫持和302重定向有什么關(guān)系呢?這個要從搜索引擎如何處理302重定向說起赶促。
當(dāng)從網(wǎng)址A做一個302重定向到網(wǎng)址B時液肌,服務(wù)器隱含的意思是網(wǎng)址A可能會重新啟用。正常情況鸥滨,大部分搜索引擎應(yīng)當(dāng)去抓取302重定向之后的網(wǎng)址B嗦哆。但是可能由于B網(wǎng)址相對于A網(wǎng)址過于復(fù)雜,這樣搜索引擎就會覺得網(wǎng)址A對用戶更加友好婿滓,因而在重定向之后任然顯示舊的網(wǎng)址A老速,但是顯示網(wǎng)址B的內(nèi)容。這就是網(wǎng)址劫持凸主。
在平常使用手機(jī)的過程當(dāng)中烁峭,有時候會發(fā)現(xiàn)網(wǎng)頁上會有浮動的窗口,或者訪問的頁面不是正常的頁面,這就可能是運(yùn)營商通過某種方式篡改了用戶正常訪問的頁面约郁。其中有一種方式就是通過返回302重定向讓用戶瀏覽器跳轉(zhuǎn)到另外的網(wǎng)址。