你可知“404”不是我全部:HTTP狀態(tài)碼還有啥? 想必,各位都曾有過(guò)以下經(jīng)歷,本想打開(kāi)網(wǎng)頁(yè)瀏覽資訊,怎料出現(xiàn)的卻是個(gè)“404”?不用懷疑,你的頁(yè)面丟失了。那么,“404”除了代表你所要瀏覽的頁(yè)面丟失外,你可知它的產(chǎn)生原理?不僅如此,在龐大的互聯(lián)網(wǎng)中除了404還有哪些HTTP狀態(tài)碼又分別代表著什么?
你可知“404”不是我全部HTTP狀態(tài)碼還有啥? 正如上面所述,404是一種標(biāo)準(zhǔn)的HTTP返回代碼,官方稱(chēng)其為HTTP狀態(tài)碼,用來(lái)表示網(wǎng)頁(yè)服務(wù)器HTTP的響應(yīng)狀態(tài)。由于網(wǎng)站日志通常會(huì)記錄下HTTP狀態(tài)碼,因此通過(guò)查看網(wǎng)站日志中的HTTP狀態(tài)碼,便可清楚地看到網(wǎng)站服務(wù)器與客戶(hù)端之間的信息交換情況。 雖然大多數(shù)的人知道404意味著頁(yè)面丟失,卻鮮有人對(duì)其進(jìn)行更深入的研究。其實(shí),狀態(tài)碼可分成三個(gè)層級(jí),例如404這樣用三個(gè)數(shù)字表示的。需注意的是,在IIS即Internet信息服務(wù)中,也有不少微軟制定的擴(kuò)充狀態(tài)碼,例如格式像404.1這樣的,能更深層次的讓開(kāi)發(fā)者找出錯(cuò)誤原因。 進(jìn)一步講,幾乎所有的HTTP狀態(tài)碼都被分成了五類(lèi)?!?’開(kāi)頭,表示服務(wù)器收到請(qǐng)求并需要請(qǐng)求繼續(xù)處理;‘2’開(kāi)頭,表成功響應(yīng),即成功處理了請(qǐng)求;‘3’開(kāi)頭,表重定向,也就是引導(dǎo)瀏覽器跳轉(zhuǎn)到另一個(gè)資源頁(yè)面;‘4’開(kāi)頭,則表示請(qǐng)求出錯(cuò)妨礙了服務(wù)器的處理,服務(wù)器會(huì)返回一個(gè)狀態(tài)碼解釋到底是什么錯(cuò)誤;而‘5’開(kāi)頭,表示服務(wù)器錯(cuò)誤,但并非請(qǐng)求者的原因。
例如,與404對(duì)應(yīng)的200便是表示訪問(wèn)成功。實(shí)際上,請(qǐng)求過(guò)程中會(huì)有很多狀態(tài)碼快速的發(fā)生著變化,且看不出這些狀態(tài)碼是如何變化的,除非像打斷點(diǎn)似的操作一步停一下,因此導(dǎo)致在服務(wù)器響應(yīng)過(guò)程中,很多狀態(tài)碼我們是看不到的。
為何要設(shè)計(jì)諸如404的頁(yè)面呢?要知道,以4開(kāi)頭的錯(cuò)誤都與客戶(hù)端有關(guān),例如用戶(hù)訪問(wèn)的頁(yè)面可能已經(jīng)不存在。當(dāng)然,這樣的概率相對(duì)于網(wǎng)站的其他頁(yè)面而言要小的多。另外,由于網(wǎng)站的開(kāi)發(fā)者也無(wú)法控制錯(cuò)誤頁(yè)面的出現(xiàn),開(kāi)發(fā)者卻能設(shè)計(jì)一個(gè)特別的404錯(cuò)誤頁(yè)面告知用戶(hù),在此錯(cuò)誤頁(yè)面上將信息傳達(dá)給用戶(hù),引導(dǎo)其進(jìn)行下一步操作。 那么,HTTP狀態(tài)碼又與SEO有什么關(guān)系呢?像之前所說(shuō)的,網(wǎng)站日志會(huì)記錄下HTTP狀態(tài)碼,因而查看網(wǎng)站日志里的HTTP狀態(tài)碼,便能清楚地看到網(wǎng)站服務(wù)器與客戶(hù)端之間的信息交換情況,而這個(gè)客戶(hù)端,既可以是用戶(hù)瀏覽器也可以是搜索引擎或其他爬取工具(如RSS)。因此,對(duì)SEO而言HTTP狀態(tài)碼的重要意義在于,通過(guò)它我們可以查看搜索引擎在你網(wǎng)站的爬取情況。 除了404以外,你還知道哪些HTTP狀態(tài)碼?其實(shí),這些狀態(tài)碼都有各自的含義,這里我們也向各位介紹幾個(gè)比較常見(jiàn)的狀態(tài)碼及其含義,方便以后瀏覽頁(yè)面遇到問(wèn)題時(shí),及時(shí)了解問(wèn)題所在: 成功2xx,成功處理了請(qǐng)求的狀態(tài)碼。例如200,代表服務(wù)器已成功處理請(qǐng)求并提供了請(qǐng)求的網(wǎng)頁(yè);204,代表服務(wù)器成功處理了請(qǐng)求,但沒(méi)有返回任何內(nèi)容。 重定向3xx,表示每次請(qǐng)求中使用重定向不要超過(guò)5次。例如301,表示請(qǐng)求的網(wǎng)頁(yè)已永久移動(dòng)到新位置;302,表示請(qǐng)求的網(wǎng)頁(yè)臨時(shí)移動(dòng)到新位置;304,表示如果網(wǎng)頁(yè)自請(qǐng)求者上次請(qǐng)求后沒(méi)有更新,則用304代碼告訴搜索引擎機(jī)器人,可節(jié)約帶寬和開(kāi)銷(xiāo)。
客戶(hù)端錯(cuò)誤4xx,代表請(qǐng)求可能出錯(cuò)妨礙了服務(wù)器的處理。例如400,表示服務(wù)器不理解請(qǐng)求的語(yǔ)法;403,表示服務(wù)器拒絕請(qǐng)求;404,代表服務(wù)器找不到請(qǐng)求的網(wǎng)頁(yè)(服務(wù)器上不存在的網(wǎng)頁(yè)經(jīng)常會(huì)返回此代碼);410,表示請(qǐng)求的資源永久刪除后,服務(wù)器返回此響應(yīng)(與404代碼相似)。 服務(wù)器錯(cuò)誤5xx,表示服務(wù)器在處理請(qǐng)求時(shí)內(nèi)部發(fā)生錯(cuò)誤,可能是服務(wù)器本身的錯(cuò)誤而非請(qǐng)求出錯(cuò);500代表服務(wù)器遇到錯(cuò)誤,無(wú)法完成請(qǐng)求;503,服務(wù)器目前無(wú)法使用(由于超載或停機(jī)維護(hù)),通常只是暫時(shí)狀態(tài)。
其實(shí),除了上面列出的幾個(gè)常見(jiàn)的HTTP狀態(tài)碼外還有很多狀態(tài)碼,這里就不為大家一一列舉了,掌握一些基本的HTTP狀態(tài)碼,有助于我們?cè)诎l(fā)現(xiàn)頁(yè)面出現(xiàn)異常時(shí),能夠迅速“讀懂”錯(cuò)誤提示,盡快解決問(wèn)題,同時(shí)也是為自己長(zhǎng)面(臭顯擺)的不錯(cuò)談資。
更多資訊請(qǐng)關(guān)注:IT外包
|