前端面試之httpcode 301和302的區(qū)別介紹

前端的小伙伴們大家好,相信很多小伙伴們面試的時(shí)候都被問過httpcode 301和302的區(qū)別。好多小伙伴們不加思索就答:301是永久重定向,302是臨時(shí)重定向。然后你要是這么回答,面試官就會(huì)在心里默默地扣掉1分。繼續(xù)問你:還有其他區(qū)別嗎?下面小編就為大家詳細(xì)的說一下這兩者的區(qū)別。
1. 定義
301:被請(qǐng)求的資源已永久移動(dòng)到新位置,并且將來任何對(duì)此資源的引用都應(yīng)該使用本響應(yīng)返回的若干個(gè) URI 之一。如果可能,擁有鏈接編輯功能的客戶端應(yīng)當(dāng)自動(dòng)把請(qǐng)求的地址修改為從服務(wù)器反饋回來的地址。除非額外指定,否則這個(gè)響應(yīng)也是可緩存的。
302:請(qǐng)求的資源現(xiàn)在臨時(shí)從不同的 URI 響應(yīng)請(qǐng)求。由于這樣的重定向是臨時(shí)的,客戶端應(yīng)當(dāng)繼續(xù)向原有地址發(fā)送以后的請(qǐng)求。只有在Cache-Control
或Expires中進(jìn)行了指定的情況下,這個(gè)響應(yīng)才是可緩存的。
兩者都是一個(gè)POST請(qǐng)求經(jīng)過 301/302 后會(huì)被瀏覽器轉(zhuǎn)為GET請(qǐng)求
2. 緩存
定義上已經(jīng)給出,對(duì)于301請(qǐng)求,瀏覽器是默認(rèn)給一個(gè)很長(zhǎng)的緩存。而302是不緩存的。
3. 搜索引擎
301: 舊地址A的資源不可訪問了(永久移除), 重定向到網(wǎng)址B,搜索引擎會(huì)抓取網(wǎng)址B的內(nèi)容,同時(shí)將網(wǎng)址保存為B網(wǎng)址。
302: 舊地址A的資源仍可訪問,這個(gè)重定向只是臨時(shí)從舊地址A跳轉(zhuǎn)到B地址,這時(shí)搜索引擎會(huì)抓取B網(wǎng)址內(nèi)容,但是會(huì)將網(wǎng)址保存為A的。
4. 安全
盡量使用301跳轉(zhuǎn),以防止網(wǎng)址劫持!
假如,A -> B。大部分的搜索引擎在大部分情況下,當(dāng)收到302 重定向時(shí),有的時(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í)候,并不能像人一樣的去準(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)頁(yè)內(nèi)容卻是你的網(wǎng)址B 上的內(nèi)容,這種情況就叫做網(wǎng)址URL 劫持。你辛辛苦苦所寫的內(nèi)容就這樣被別人偷走了。302 重定向所造成的網(wǎng)址URL 劫持現(xiàn)象,已經(jīng)存在一段時(shí)間了。不過到目前為止,似乎也沒有什么更好的解決方法。在正在進(jìn)行的谷歌大爸爸?jǐn)?shù)據(jù)中心轉(zhuǎn)換中,302 重定向問題也是要被解決的目標(biāo)之一。從一些搜索結(jié)果來看,網(wǎng)址劫持現(xiàn)象有所改善,但是并沒有完全解決。
簡(jiǎn)單來說就是:有個(gè)壞人把他的電話來電轉(zhuǎn)移到了一個(gè)明星那,讓大家都以為他的電話是那個(gè)明星的。他的手機(jī)號(hào)成名后,就可以拉個(gè)微信群,大膽的假裝明星,實(shí)現(xiàn)他的微shang夢(mèng),從此走上人生巔峰。
總結(jié)
到此這篇關(guān)于前端面試之httpcode 301和302的區(qū)別的文章就介紹到這了,更多相關(guān)http 301 和 302的區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
- 這篇文章主要介紹了程序員面試的幾個(gè)小技巧,在平時(shí)面試的時(shí)候,除了實(shí)打?qū)嵉募寄苓€需要更多的技巧,雙管齊下才能贏得更大的勝算,技能方面就不多說了,下面來分享幾個(gè)面試2023-04-23
- 面試中,問鎖主要是兩方面:鎖的日常使用場(chǎng)景 + 鎖原理,鎖的日常使用場(chǎng)景主要考察對(duì)鎖 API 的使用熟練度,看看你是否真的使用過這些 API,而不是紙上談兵,鎖原理主要就是2022-05-19
- 這篇文章主要介紹了Mybatis常見面試題詳細(xì)總結(jié),通過總結(jié)列舉大量的mybatis面試常見題目供給大家參考,希望對(duì)大家有所幫助2021-08-24
2020Java后端開發(fā)面試題總結(jié)(春招+秋招+社招)
這篇文章主要介紹了2020Java后端開發(fā)面試題總結(jié)(春招+秋招+社招),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2021-02-18MySQL數(shù)據(jù)庫(kù)選擇題小結(jié)
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)選擇題小結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2021-02-07- 這篇文章主要介紹了30道有趣的JVM面試題(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2020-11-26
- 這篇文章主要介紹了Python面試題爬蟲篇小結(jié)(附答案),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2020-10-28
- 這篇文章主要介紹了還不理解B樹和B+樹,那就看看這篇文章吧,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一2020-09-10
Java面試通關(guān)要點(diǎn)匯總(備戰(zhàn)秋招)
這篇文章主要介紹了Java面試通關(guān)要點(diǎn)匯總(備戰(zhàn)秋招),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2020-09-08- 這篇文章主要介紹了10道JVM常見面試題解析(附答案),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)2020-09-04