上網(wǎng)沖浪的時(shí)候,不管是“網(wǎng)頁(yè)迷路了”還是“網(wǎng)頁(yè)乘坐火箭飛向太空”,頁(yè)面都有一個(gè)神秘?cái)?shù)字“404”。
相信對(duì)404,大部分人已經(jīng)不陌生了。一旦它出現(xiàn),就意味著:我們想要訪問(wèn)的頁(yè)面找不到了。
那么,404到底是什么?又是什么原因?qū)е?04的發(fā)生呢?
其實(shí),404是網(wǎng)頁(yè)服務(wù)器無(wú)法找到用戶請(qǐng)求的文檔時(shí)發(fā)出的HTTP(Hyper Text Transfer Protocol,超文本傳輸協(xié)議)狀態(tài)碼。出現(xiàn)404頁(yè)面就是為了提醒用戶網(wǎng)頁(yè)發(fā)生了錯(cuò)誤。
導(dǎo)致這種錯(cuò)誤發(fā)生的原因可能是:
網(wǎng)頁(yè)數(shù)據(jù)被更改、或者上傳到網(wǎng)頁(yè)的文件目錄/文件名稱被更改,導(dǎo)致網(wǎng)頁(yè)失效。
網(wǎng)頁(yè)文件被移動(dòng)或刪除,導(dǎo)致原鏈接失效。
我們自己輸入的網(wǎng)址有錯(cuò)誤,不能鏈接到所需的文件。
你壓根沒(méi)插網(wǎng)線或者家里Wi-Fi信號(hào)太差。
……
總之,404就是網(wǎng)頁(yè)向你發(fā)出了“此路不通”的信號(hào)。
除了404,還有一個(gè)最常見(jiàn)的HTTP狀態(tài)碼——502。
之前某站不能訪問(wèn)的時(shí)候,網(wǎng)友們紛紛發(fā)聲:剛開(kāi)始頁(yè)面出現(xiàn)404以為是自己的原因,后來(lái)刷出來(lái)502,知道不是自己的原因就放心了。
因?yàn)?02代碼表示內(nèi)部網(wǎng)絡(luò)故障或設(shè)置問(wèn)題,即內(nèi)部網(wǎng)絡(luò)擁塞。
通常是網(wǎng)絡(luò)內(nèi)部存在大量的數(shù)據(jù)調(diào)用或交互時(shí),網(wǎng)頁(yè)內(nèi)容提供方的一個(gè)或兩個(gè)服務(wù)器,由于性能缺陷或程序錯(cuò)誤,無(wú)法正常運(yùn)行,使得網(wǎng)頁(yè)上的內(nèi)容無(wú)法被傳輸?shù)接脩舻臑g覽器上。
說(shuō)人話就是服務(wù)器崩了、網(wǎng)站掛了。此種情況在搶票、某個(gè)熱點(diǎn)事件爆發(fā)時(shí)都很常見(jiàn)……
這個(gè)時(shí)候我們能做的就是刷新網(wǎng)頁(yè)、重新打開(kāi)頁(yè)面、以及耐心的等待。
由此可知,404和502這兩種HTTP狀態(tài)碼在本質(zhì)上是有很大不同的,下面我們繼續(xù)了解下其它HTTP狀態(tài)碼。
HTTP狀態(tài)碼
超文本傳輸協(xié)議HTTP本身是一個(gè)簡(jiǎn)單的請(qǐng)求-響應(yīng)協(xié)議,規(guī)定了網(wǎng)頁(yè)服務(wù)器和瀏覽器之間的信息傳遞規(guī)范。HTTP狀態(tài)碼(HTTP Status Code)是網(wǎng)頁(yè)服務(wù)器響應(yīng)信息的一部分,是用來(lái)表示超文本傳輸協(xié)議響應(yīng)狀態(tài)的3位數(shù)字代碼。
當(dāng)你訪問(wèn)一個(gè)網(wǎng)頁(yè)時(shí),瀏覽器會(huì)向網(wǎng)頁(yè)所在服務(wù)器發(fā)出請(qǐng)求。該網(wǎng)頁(yè)所在的服務(wù)器接收和解釋請(qǐng)求消息之后,會(huì)返回一個(gè)包含HTTP狀態(tài)碼的響應(yīng)信息用以響應(yīng)瀏覽器的請(qǐng)求。
我們?cè)L問(wèn)網(wǎng)頁(yè)時(shí),服務(wù)器都會(huì)通過(guò)HTTP狀態(tài)碼向我們傳達(dá)簡(jiǎn)單的信息。狀態(tài)碼既可以指明具體請(qǐng)求是否已成功,又可以揭示請(qǐng)求失敗的確切原因。
常見(jiàn)狀態(tài)碼
HTTP狀態(tài)碼被記錄在服務(wù)器日志中,同時(shí)也可能在客戶端顯示,就是打開(kāi)頁(yè)面出錯(cuò)時(shí),瀏覽器顯示的錯(cuò)誤信息代碼,比如大家看到的404或502。
狀態(tài)碼的第一個(gè)數(shù)字代表了服務(wù)器響應(yīng)的狀態(tài),目前常見(jiàn)的響應(yīng)狀態(tài)有5種。
除了前面提到的404和502,以下9個(gè)常見(jiàn)的狀態(tài)碼應(yīng)該能讓你對(duì)狀態(tài)碼有更直觀的感受。
100 Continue(繼續(xù))
客戶端已接收部分請(qǐng)求,并準(zhǔn)備好接收剩下的部分,請(qǐng)求者需要繼續(xù)提出請(qǐng)求。
200 OK(請(qǐng)求成功)
服務(wù)器已成功處理了請(qǐng)求,可以正常打開(kāi)網(wǎng)頁(yè)啦(或者請(qǐng)求的文件)。
206 Partial Content(部分內(nèi)容)
服務(wù)器成功處理了部分GET請(qǐng)求。HTTP下載工具(比如迅雷)都是使用這類響應(yīng)實(shí)現(xiàn)斷點(diǎn)續(xù)傳或者將一個(gè)大文檔分解為多個(gè)下載段同時(shí)下載的。
301 Moved Permanently(永久移動(dòng))
被請(qǐng)求的資源已永久移動(dòng)到新位置,響應(yīng)信息中會(huì)包括新的URI(Uniform Resource Identifier,統(tǒng)一資源標(biāo)識(shí)符),瀏覽器會(huì)自動(dòng)定向到新URI。今后任何對(duì)此資源的請(qǐng)求都應(yīng)使用新的URI代替。
302 Found(發(fā)現(xiàn))
服務(wù)器要求客戶端執(zhí)行臨時(shí)重定向(原始描述短語(yǔ)為“Moved Temporarily”)。服務(wù)器臨時(shí)從不同位置的網(wǎng)頁(yè)響應(yīng)請(qǐng)求,但是這樣的重定向是臨時(shí)的,之后的請(qǐng)求客戶端仍應(yīng)向原有地址發(fā)送。



皖公網(wǎng)安備 34010202600669



