中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

ASP.NET的SEO:HTTP報(bào)頭狀態(tài)碼 內(nèi)容重定向

2019-03-08    來(lái)源:自由飛的Blog

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

我們經(jīng)常說(shuō)“404錯(cuò)誤”,你知道他指的是什么意思么?404其實(shí)是Http報(bào)頭所包含的一個(gè)“狀態(tài)碼”,表明該Http請(qǐng)求失敗。那么除此之外,還有哪些常用的狀態(tài)碼呢?這些狀態(tài)碼和SEO又有什么關(guān)系呢?

每次當(dāng)用戶代理(可以理解為就是IE和Firefox)向Web站點(diǎn)請(qǐng)求一個(gè)URL地址,服務(wù)器都會(huì)給予回復(fù),回復(fù)內(nèi)容包括兩部分:HTTP報(bào)頭,和被請(qǐng)求的內(nèi)容。但僅從瀏覽器上我們通常只能看到內(nèi)容而看不到報(bào)頭信息。所以,我們需要通過(guò)一些瀏覽器插件來(lái)觀察他們。就我個(gè)人而言,IE我用WebDeveloper;FireFox我用Fiddler。有興趣的朋友可以在網(wǎng)上自行下載,兩個(gè)都是相當(dāng)流行的。

對(duì)SEO而言,我們需要了解的狀態(tài)代碼有:

重定向:301和302

被刪除:404

服務(wù)器錯(cuò)誤:500

我們依次講解,首先將302。302在asp.net中有一個(gè)很常見的原型:Response.Redirect(),請(qǐng)看代碼:

    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Redirect(
"~/target.aspx");
        
//Server.Transfer("~/target.aspx");
    }

source.aspx頁(yè)面上一個(gè)Button,Click事件中代碼為Response.Redirect(~/target.aspx),點(diǎn)擊source.aspx頁(yè)面Button,查看該頁(yè)面對(duì)應(yīng)的狀態(tài)碼,結(jié)果就是302。(如下圖,我使用的是Web Development,不知道為什么enable log之后,就無(wú)法再轉(zhuǎn)到target頁(yè)面了?各位同學(xué)知道原因的請(qǐng)指點(diǎn)一二)

但可以查看詳細(xì)信息,可以發(fā)現(xiàn)302的影響,response指明了要轉(zhuǎn)向的url。

客戶端/服務(wù)器之間往返的過(guò)程其實(shí)是這樣的:

1. 點(diǎn)擊Button,產(chǎn)生回發(fā),回發(fā)的目標(biāo)頁(yè)面仍然是source.aspx,所以請(qǐng)求仍由source.aspx頁(yè)面進(jìn)行處理,這樣才能進(jìn)入source.aspx頁(yè)面的Click事件;

2. Click事件中,Response.Redirect(~/target.aspx)所作的事情實(shí)際上就是:

2.1 將回復(fù)中Http報(bào)頭的狀態(tài)碼改成302;

2.1 指明302指向的頁(yè)面就是target.aspx;

3. 瀏覽器(用戶代理)收到回復(fù)的報(bào)頭信息后,

3.1 將URL地址欄的地址改成target.aspx;

3.2 向target.aspx發(fā)出請(qǐng)求

和Response.Redirect()同樣著名的是Server.Transfer()。但使用Server.Transfer,你會(huì)發(fā)現(xiàn),頁(yè)面對(duì)應(yīng)的狀態(tài)碼是200,且地址欄的url并不會(huì)發(fā)生改變,仍然是source.aspx!這是因?yàn)镾erver.Transfer是完全在服務(wù)器端進(jìn)行跳轉(zhuǎn)的。所以一種很流行但我覺得不那么正確的說(shuō)法就是:應(yīng)當(dāng)使用Server.Transfer()而不是Response.Redirect()來(lái)提高性能。因?yàn)樵诘玫絊erver.Transfer()性能提升的同時(shí),你應(yīng)該權(quán)衡:性能的提高,和由此產(chǎn)生的代價(jià)。很難直接給出一個(gè)答案,這需要依靠具體的情景來(lái)做判斷。但我傾向于盡量不使用Server.Transfer(),因?yàn)椋?. 性能提升不大,節(jié)約的其實(shí)就是報(bào)頭信息的往返;2. 清晰的URL無(wú)論對(duì)于終端用戶,還是開發(fā)調(diào)試,都有很重要的作用。

好了,理解了302,301也就好辦了。302意味著重定向是暫時(shí)的,而301則是永久的重定向。

標(biāo)簽: ASP.NET 網(wǎng)站SEO HTTP報(bào)頭狀態(tài)碼 

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:ASP.NET的SEO Linq to XML---網(wǎng)站地圖和RSS Feed

下一篇:ASP.NET的SEO:使用.ashx文件——排除重復(fù)內(nèi)容