|
|
|
|
|
網(wǎng)站的http狀態(tài)對(duì)于網(wǎng)站維護(hù)人員來說是相當(dāng)重要的,當(dāng)網(wǎng)站出現(xiàn)問題的時(shí)候,我們首先要診斷一下網(wǎng)站的http狀態(tài),從而進(jìn)一步確認(rèn)哪里出現(xiàn)的問題。
我們經(jīng)常會(huì)遇到404、500、302等提示,它們究竟是什么意思呢?除了這幾個(gè)常見的狀態(tài)碼外,還有哪些我們沒有遇到過的但有可能出現(xiàn)的狀態(tài)碼呢?這里本人做了一個(gè)匯總,與大家分享一下。
HTTP狀態(tài)碼 摘要說明
-----------------------------------------------------------------------------------------------------------
成功2XX 成功處理了請(qǐng)求的狀態(tài)碼。
200 服務(wù)器已成功處理了請(qǐng)求并提供了請(qǐng)求的網(wǎng)頁。
204 服務(wù)器成功處理了請(qǐng)求,但沒有返回任何內(nèi)容。
重定向3XX 每次請(qǐng)求中使用重定向不要超過 5 次。
301 請(qǐng)求的網(wǎng)頁已永久移動(dòng)到新位置。當(dāng)URLs發(fā)生變化時(shí),使用301代碼。搜索引擎索引中保存新的URL。
302 請(qǐng)求的網(wǎng)頁臨時(shí)移動(dòng)到新位置。搜索引擎索引中保存原來的URL。
304 如果網(wǎng)頁自請(qǐng)求者上次請(qǐng)求后沒有更新,則用304代碼告訴搜索引擎機(jī)器人,可節(jié)省帶寬和開銷。
客戶端錯(cuò)誤4XX 表示請(qǐng)求可能出錯(cuò),妨礙了服務(wù)器的處理。
400 服務(wù)器不理解請(qǐng)求的語法。
403 服務(wù)器拒絕請(qǐng)求。
404 服務(wù)器找不到請(qǐng)求的網(wǎng)頁。服務(wù)器上不存在的網(wǎng)頁經(jīng)常會(huì)返回此代碼。
410 請(qǐng)求的資源永久刪除后,服務(wù)器返回此響應(yīng)。該代碼與 404(未找到)代碼相似,
但在資源以前存在而現(xiàn)在不存在的情況下,有時(shí)用來替代404 代碼。如果資源已永久刪除,應(yīng)當(dāng)使用 301 指定資源的新位置。
服務(wù)器錯(cuò)誤5XX 表示服務(wù)器在處理請(qǐng)求時(shí)發(fā)生內(nèi)部錯(cuò)誤。這些錯(cuò)誤可能是服務(wù)器本身的錯(cuò)誤,而不是請(qǐng)求出錯(cuò)。
500 服務(wù)器遇到錯(cuò)誤,無法完成請(qǐng)求。
503 服務(wù)器目前無法使用(由于超載或停機(jī)維護(hù))。通常,這只是暫時(shí)狀態(tài)。
詳細(xì)分解:
2XX 成功
200 正常;請(qǐng)求已完成。
201 正常;緊接 POST 命令。
202 正常;已接受用于處理,但處理尚未完成。
203 正常;部分信息 — 返回的信息只是一部分。
204 正常;無響應(yīng) — 已接收請(qǐng)求,但不存在要回送的信息。
3XX 重定向
301 已移動(dòng) — 請(qǐng)求的數(shù)據(jù)具有新的位置且更改是永久的。
302 已找到 — 請(qǐng)求的數(shù)據(jù)臨時(shí)具有不同 URI。
303 請(qǐng)參閱其它 — 可在另一 URI 下找到對(duì)請(qǐng)求的響應(yīng),且應(yīng)使用 GET 方法檢索此響應(yīng)。
304 未修改 — 未按預(yù)期修改文檔。
305 使用代理 — 必須通過位置字段中提供的代理來訪問請(qǐng)求的資源。
306 未使用 — 不再使用;保留此代碼以便將來使用。
4XX 客戶機(jī)中出現(xiàn)的錯(cuò)誤
400 錯(cuò)誤請(qǐng)求 — 請(qǐng)求中有語法問題,或不能滿足請(qǐng)求。
401 未授權(quán) — 未授權(quán)客戶機(jī)訪問數(shù)據(jù)。
402 需要付款 — 表示計(jì)費(fèi)系統(tǒng)已有效。
403 禁止 — 即使有授權(quán)也不需要訪問。
404 找不到 — 服務(wù)器找不到給定的資源;文檔不存在。
407 代理認(rèn)證請(qǐng)求 — 客戶機(jī)首先必須使用代理認(rèn)證自身。
415 介質(zhì)類型不受支持 — 服務(wù)器拒絕服務(wù)請(qǐng)求,因?yàn)椴恢С终?qǐng)求實(shí)體的格式。
5XX 服務(wù)器中出現(xiàn)的錯(cuò)誤
500 內(nèi)部錯(cuò)誤 — 因?yàn)橐馔馇闆r,服務(wù)器不能完成請(qǐng)求。
501 未執(zhí)行 — 服務(wù)器不支持請(qǐng)求的工具。
502 錯(cuò)誤網(wǎng)關(guān) — 服務(wù)器接收到來自上游服務(wù)器的無效響應(yīng)。
503 無法獲得服務(wù) — 由于臨時(shí)過載或維護(hù),服務(wù)器無法處理請(qǐng)求。
504 Gateway Timeout
作為網(wǎng)關(guān)或者代理工作的服務(wù)器嘗試執(zhí)行請(qǐng)求時(shí),未能及時(shí)從上游服務(wù)器(URI標(biāo)識(shí)出的服務(wù)器,例如HTTP、FTP、LDAP)或者輔助服務(wù)器(例如DNS)收到響應(yīng)。
注意:某些代理服務(wù)器在DNS查詢超時(shí)時(shí)會(huì)返回400或者500錯(cuò)誤
505 HTTP Version Not Supported
服務(wù)器不支持,或者拒絕支持在請(qǐng)求中使用的 HTTP 版本。這暗示著服務(wù)器不能或不愿使用與客戶端相同的版本。響應(yīng)中應(yīng)當(dāng)包含一個(gè)描述了為何版本不被支持以及服務(wù)器支持哪些協(xié)議的實(shí)體。
506 Variant Also Negotiates
由《透明內(nèi)容協(xié)商協(xié)議》(RFC 2295)擴(kuò)展,代表服務(wù)器存在內(nèi)部配置錯(cuò)誤:被請(qǐng)求的協(xié)商變?cè)Y源被配置為在透明內(nèi)容協(xié)商中使用自己,因此在一個(gè)協(xié)商處理中不是一個(gè)合適的重點(diǎn)。
507 Insufficient Storage
服務(wù)器無法存儲(chǔ)完成請(qǐng)求所必須的內(nèi)容。這個(gè)狀況被認(rèn)為是臨時(shí)的。WebDAV (RFC 4918)
508 Loop Detected
服務(wù)器發(fā)現(xiàn)請(qǐng)求中出現(xiàn)一個(gè)無窮循環(huán)
509 Bandwidth Limit Exceeded
服務(wù)器達(dá)到帶寬限制。這不是一個(gè)官方的狀態(tài)碼,但是仍被廣泛使用。
510 Not Extended
獲取資源所需要的策略并沒有沒滿足。(RFC 2774)
常見錯(cuò)誤的處理方法
500錯(cuò)誤
500錯(cuò)誤是站長經(jīng)常遇到的問題,就本人的經(jīng)驗(yàn),原因及解決方法歸納如下:
1、運(yùn)行的用戶數(shù)過多,對(duì)服務(wù)器造成的壓力過大,服務(wù)器無法響應(yīng),則報(bào)HTTP500錯(cuò)誤。
這個(gè)原因是網(wǎng)站報(bào)500錯(cuò)誤的最主要原因,很多網(wǎng)站為什么突然會(huì)報(bào)500錯(cuò)誤(service unavailable)呢?90%是由于空間壓力過大,超出了空間商設(shè)定的上限而造成的。
遇到這個(gè)問題,最好是第一時(shí)間找到空間商的售后服務(wù),他們一般會(huì)幫你回收一下應(yīng)用程序池,問題便得到解決。如果沒有找到售后服務(wù),可以自己在空間管理后臺(tái),找到“回收應(yīng)用程序池”那個(gè)項(xiàng)目,自己手動(dòng)執(zhí)行一下即可。不過,一些空間管理后臺(tái)并沒有提供該項(xiàng)服務(wù)。
2、如果排除了第1的可能性,那么很大原因便是程序上出現(xiàn)了問題。
可以做個(gè)簡單的測(cè)試頁面,看是否能運(yùn)行成功,再檢測(cè)報(bào)錯(cuò)的頁面,從而針對(duì)性的進(jìn)行修改。
該做關(guān)聯(lián)的地方?jīng)]有去做關(guān)聯(lián),則報(bào)HTTP500錯(cuò)誤。進(jìn)行手工或者自動(dòng)關(guān)聯(lián),問題得到解決。
3、如果測(cè)試中所進(jìn)行的操作需要向數(shù)據(jù)庫中插入數(shù)據(jù),若大數(shù)據(jù)量的情況下導(dǎo)致數(shù)據(jù)庫中表空間已滿,或者緩沖池較小無法滿足數(shù)據(jù)的存取等,都有可能導(dǎo)致HTTP500錯(cuò)誤。
解決方法是調(diào)整數(shù)據(jù)庫、修改連接池大小等等,根據(jù)個(gè)人具體情況進(jìn)行修正即可。
500錯(cuò)誤還有其他一些原因,你可以看看這里:網(wǎng)站服務(wù)器竟然出現(xiàn)了Service Unavailable 【解決方法】。