來(lái)源:科技日報
“機”本法則
平時(shí),我們在瀏覽網(wǎng)頁(yè)時(shí)偶爾會(huì )遇到寫(xiě)有502的報錯頁(yè)面,更多時(shí)候會(huì )出現404錯誤頁(yè)面,那么它們到底是什么意思呢?
登錄網(wǎng)頁(yè)時(shí)這些步驟在后臺運行
當我們在IE、搜狗、火狐等瀏覽器中訪(fǎng)問(wèn)一個(gè)網(wǎng)址(域名)的時(shí)候,首先要找到域名所對應服務(wù)器的IP地址,簡(jiǎn)單說(shuō)就是先要找到所需的服務(wù)器在哪里。
得到服務(wù)器的IP地址后,我們電腦上的瀏覽器要向服務(wù)器發(fā)出想加載網(wǎng)頁(yè)資源的請求,建立一個(gè)瀏覽器與服務(wù)器的連接。
接著(zhù),瀏覽器會(huì )發(fā)送網(wǎng)頁(yè)鏈接請求,服務(wù)器收到請求后,進(jìn)行相應的處理,比如說(shuō)身份驗證等。這一步的目的是,查看你有沒(méi)有訪(fǎng)問(wèn)服務(wù)器內相應資源的權限。
以上步驟完成后,服務(wù)器會(huì )將資源發(fā)送給瀏覽器,這一步稱(chēng)為網(wǎng)頁(yè)響應。在資源傳輸完成后,瀏覽器成功接收到來(lái)自服務(wù)器的資源時(shí),電腦就會(huì )顯示出我們想要查看的相應內容。
前面介紹的一系列動(dòng)作都是在瞬間完成的,平時(shí)我們點(diǎn)擊網(wǎng)頁(yè)后,電腦后臺進(jìn)行的,便是“請求資源”和“網(wǎng)頁(yè)響應”的過(guò)程。
當然,上述過(guò)程中可能會(huì )發(fā)生一些意外情況,比如用戶(hù)身份驗證失敗、該用戶(hù)失去訪(fǎng)問(wèn)資源的權限、服務(wù)器在處理過(guò)程中出現錯誤等。
所以,在網(wǎng)頁(yè)響應中還要加入相應的狀態(tài)碼來(lái)告訴瀏覽器當前請求的處理狀態(tài),這就是我們在鏈接網(wǎng)頁(yè)出錯時(shí)所看到的404、502等狀態(tài)碼了。
404代表找不到查詢(xún)網(wǎng)頁(yè)
404和502都是一種表示頁(yè)面出現錯誤的代碼,也叫做頁(yè)面狀態(tài)碼。那么,404和502到底是什么意思?它們又分別代表什么樣的頁(yè)面錯誤呢?
404代碼的意思是“輸入錯誤,找不到要查詢(xún)的頁(yè)面”,表示用戶(hù)在瀏覽網(wǎng)頁(yè)時(shí),服務(wù)器無(wú)法提供正確的信息或是服務(wù)器因不明原因無(wú)法將信息發(fā)送給訪(fǎng)問(wèn)者。
其中,404的第一個(gè)4表示客戶(hù)端出錯,第二個(gè)0表示你把網(wǎng)址打錯了,最后的那個(gè)4表示“Not Found”,即找不到網(wǎng)頁(yè)。
科學(xué)家設計404頁(yè)面的主要作用是提醒用戶(hù),網(wǎng)站可以打開(kāi)但是想要訪(fǎng)問(wèn)的頁(yè)面找不到了。簡(jiǎn)言之,當404頁(yè)面出現時(shí),此網(wǎng)頁(yè)鏈接就成為了“死鏈接”。
那么,是什么原因導致404錯誤的發(fā)生呢?
導致這種錯誤發(fā)生的原因有3種可能,一是管理員將原始的網(wǎng)頁(yè)數據更改,導致網(wǎng)頁(yè)失效。
二是上傳到網(wǎng)頁(yè)的文件目錄或文件名稱(chēng)被更改,導致原網(wǎng)頁(yè)鏈接失效,另外文件被移動(dòng)或被刪除也可能導致原鏈接失效。
三是輸入的網(wǎng)址有錯誤,不能鏈接到所需的文件。
對于404錯誤,還有一個(gè)比較奇葩的原因,據微軟IE部門(mén)客服中心統計,接到“該頁(yè)無(wú)法顯示”的投訴中,大部分是用戶(hù)上網(wǎng)的時(shí)候沒(méi)有插網(wǎng)線(xiàn)或者沒(méi)有連接WiFi導致的?,F在的用戶(hù)大多用的是WiFi網(wǎng)絡(luò ),也有可能在信號很差時(shí)出現404錯誤。
502意味著(zhù)內部網(wǎng)絡(luò )擁堵
說(shuō)完404錯誤,我們再來(lái)談?wù)?02錯誤是怎么導致的?
502代碼表示內部網(wǎng)絡(luò )故障或設置問(wèn)題,即內部網(wǎng)絡(luò )擁塞,可能是內部存在大量的數據調用或交互時(shí),網(wǎng)頁(yè)內容提供方的一個(gè)或兩個(gè)服務(wù)器,由于性能缺陷或程序錯誤,無(wú)法正常運行,使得網(wǎng)頁(yè)上的內容無(wú)法被傳輸到用戶(hù)的瀏覽器上。這就是為什么網(wǎng)頁(yè)提供方使用更高配置的設備后,502錯誤出現的次數會(huì )少一些的原因。
目前,網(wǎng)絡(luò )上代理和緩存的使用日漸增加,我們在對網(wǎng)頁(yè)內容進(jìn)行申請時(shí),處理我們訪(fǎng)問(wèn)網(wǎng)頁(yè)請求的一連串電腦或服務(wù)器中,只要有一個(gè)環(huán)節出現差錯,502的錯誤就會(huì )產(chǎn)生。
由此,我們可以推演搶票網(wǎng)站崩潰時(shí)的情形:當用戶(hù)大量涌入購票網(wǎng)站時(shí),搶票網(wǎng)站的數據庫瞬間需要調用和讀取大量數據,而內部網(wǎng)絡(luò )的服務(wù)器無(wú)法一下子處理如此多的數據,最終引發(fā)了502錯誤。
這就需要互聯(lián)網(wǎng)服務(wù)供應商(ISP)及Web服務(wù)器軟件供應商聯(lián)絡(luò ),由他們去檢查在其控制下的不同電腦與服務(wù)器之間的IP數據傳輸的流通狀況。
對于502錯誤,我們普通用戶(hù)無(wú)法對服務(wù)器進(jìn)行設置,只能采取一些比較簡(jiǎn)單的方法處理。
例如在我們進(jìn)行網(wǎng)頁(yè)連接時(shí),可以嘗試多次刷新,但這是最基本的刷新,只是從本地的硬盤(pán)重新讀取數據到我們的瀏覽器,不一定能夠重新連接服務(wù)器。
如果簡(jiǎn)單的刷新沒(méi)有效果,我們不妨關(guān)掉502頁(yè)面,再重新登錄網(wǎng)頁(yè)。
這樣恢復正常網(wǎng)頁(yè)的可能性會(huì )更大,因為這種方法是從服務(wù)器進(jìn)行刷新的,但是該方法操作的過(guò)程會(huì )比較慢。為了減少重新點(diǎn)擊的時(shí)間,用戶(hù)也可以用快捷鍵Ctrl+F5來(lái)進(jìn)行服務(wù)器刷新。
由上可知,404和502的網(wǎng)頁(yè)錯誤代碼在本質(zhì)上是有很大不同的,對于不同的網(wǎng)頁(yè)錯誤,我們可以找到一些應對的小方法。
但是要想從根本上解決問(wèn)題還是得從各個(gè)服務(wù)器進(jìn)行改進(jìn),各網(wǎng)站服務(wù)商可以進(jìn)一步優(yōu)化各自的服務(wù)器,減少404和502的出現,讓用戶(hù)可以享受更好的瀏覽體驗。
(來(lái)源:微信公眾號“數字北京科學(xué)中心”)