成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊聊HTTP狀態(tài)碼完整指南,你學(xué)會了嗎?

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
當(dāng)我們在瀏覽器輸入U(xiǎn)RL并按下Enter鍵時(shí),瀏覽器就會向站點(diǎn)的服務(wù)器發(fā)送一個(gè)HTTP請求,服務(wù)器接收并處理請求,然后將相關(guān)資源和HTTP標(biāo)頭一起返回。

一、HTTP 狀態(tài)碼概述

1. 概念

當(dāng)我們在瀏覽器輸入U(xiǎn)RL并按下Enter鍵時(shí),瀏覽器就會向站點(diǎn)的服務(wù)器發(fā)送一個(gè)HTTP請求,服務(wù)器接收并處理請求,然后將相關(guān)資源和HTTP標(biāo)頭一起返回。可以在瀏覽器的Network中查看 HTTP 的請求狀態(tài)碼:

圖片

維基百科中對HTTP狀態(tài)碼的解釋:

HTTP狀態(tài)碼(HTTP Status Code)是用以表示網(wǎng)頁服務(wù)器超文本傳輸協(xié)議響應(yīng)狀態(tài)的3位數(shù)字代碼。它由 RFC 2616 規(guī)范定義的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 與 RFC 4918 等規(guī)范擴(kuò)展。所有狀態(tài)碼被分為五類,狀態(tài)碼的第一個(gè)數(shù)字代表了響應(yīng)的五種狀態(tài)之一。所示的消息短語是典型的,但是可以提供任何可讀取的替代方案。除非另有說明,狀態(tài)碼是HTTP/1.1標(biāo)準(zhǔn)(RFC 7231)的一部分。

HTTP 狀態(tài)代碼是從 Web 服務(wù)器發(fā)送的 3 位代碼(如 200 OK 或 404 Not Found),用于讓我們和搜索引擎知道請求中是否存在任何錯(cuò)誤或服務(wù)器嘗試處理請求時(shí)是否存在任何問題。

2. 分類

應(yīng)用通常就是客戶端向服務(wù)器發(fā)出請求,服務(wù)器做出響應(yīng)。狀態(tài)碼就是讓我們知道 HTTP 請求是成功、失敗還是其他。HTTP狀態(tài)碼通常分為五類:

類別

定義

描述

1xx

Informational(信息性狀態(tài)碼)

接受的請求正在處理

2xx

Success(成功狀態(tài)碼)

請求正常處理完畢

3xx

Redirection(重定向狀態(tài)碼)

需要進(jìn)行附加操作來完成請求

4xx

Client Error (客戶端錯(cuò)誤狀態(tài)碼)

服務(wù)器無法處理請求

5xx

Server Error(服務(wù)器錯(cuò)誤狀態(tài)碼)

服務(wù)器處理請求出錯(cuò)

3. 重要性

HTTP 狀態(tài)代碼對于診斷應(yīng)用問題很重要,例如網(wǎng)絡(luò)服務(wù)器是否無法正常工作且無法提供頁面等。快速發(fā)現(xiàn)這些問題對于開發(fā)人員和搜索引擎提供良好的體驗(yàn)非常重要。那為什么 HTTP 狀態(tài)代碼和錯(cuò)誤對搜索引擎優(yōu)化 (SEO) 很重要呢?

搜索引擎機(jī)器人在抓取網(wǎng)站時(shí)會看到 HTTP 狀態(tài)碼。在某些情況下,這些會影響網(wǎng)頁是否以及如何被編入索引,以及搜索引擎如何看待網(wǎng)站的健康狀況。

一般來說,1XX 和 2XX 狀態(tài)碼不會對 SEO 產(chǎn)生太大影響。因?yàn)樗鼈儽砻骶W(wǎng)站上是正常運(yùn)行的,并使搜索引擎機(jī)器人能夠繼續(xù)執(zhí)行操作。但是,它們并不會提高網(wǎng)站的排名。在大多數(shù)情況下,對 SEO 重要的是更高級別的代碼。4XX 和 5XX 響應(yīng)會阻止機(jī)器人抓取和索引頁面。錯(cuò)誤太多也可能表明網(wǎng)站質(zhì)量不高,可能會降低網(wǎng)站的排名。

3XX 狀態(tài)碼與 SEO 的關(guān)系就會復(fù)雜很多。要想了解它們的影響,就需要了解永久重定向和臨時(shí)重定向之間的區(qū)別,這里先不解釋,后面再詳細(xì)介紹。總之,對已經(jīng)遷移的頁面使用永久重定向會有更好的SEO。

可以使用 Google Search Console,在覆蓋率報(bào)告中查看 3XX、4XX 和 5XX 的狀態(tài)代碼:

圖片

這個(gè)報(bào)告中會顯示網(wǎng)站中四種類型的頁面:

  • 返回錯(cuò)誤的頁面;
  • 有警告但是有效的頁面;
  • 有效的頁面;
  • 從索引中排除的頁面;

我們可以在除了有效頁面之外的三類中找到3XX、4XX、5XX 的HTTO狀態(tài)碼的頁面,具體的話取決于狀態(tài)碼類型,比如301重定向可能會出現(xiàn)在最后一種中。

圖片

二、HTTP 狀態(tài)碼列表

4XX 和 5XX 狀態(tài)碼可能會出現(xiàn)在Error下。

1. 1xx Informational

1XX的狀態(tài)碼是在HTTP/1.1 中引入的,它們是信息性的狀態(tài)碼,是臨時(shí)的,表示請求已被接受,需要繼續(xù)處理。這些狀態(tài)碼并沒有提供太多有用的信息,我們可能永遠(yuǎn)看不到1XX相關(guān)的狀態(tài)碼。

(1)100 Continue

服務(wù)器已收到瀏覽器的請求標(biāo)頭,并且現(xiàn)在已準(zhǔn)備好發(fā)送請求正文。這使得請求過程更加高效,因?yàn)樗梢苑乐篂g覽器發(fā)送正文請求,即使標(biāo)頭已被拒絕。

(2)101 Switching Protocols

服務(wù)器已經(jīng)接受了客戶端的請求,并將通過Upgrade消息頭通知客戶端采用不同的協(xié)議來完成這個(gè)請求。在發(fā)送完這個(gè)響應(yīng)最后的空行后,服務(wù)器將會切換到在Upgrade消息頭中定義的協(xié)議。

(3)102 Processing

服務(wù)器已經(jīng)收到并正在處理請求,目前還沒有響應(yīng)。這樣可以防止客戶端超時(shí),并假設(shè)請求丟失。

(4)103 Early hints

在服務(wù)器響應(yīng)的HTTP消息之前返回一些響應(yīng)頭。該狀態(tài)碼用于允許用戶代理預(yù)加載資源,同時(shí)服務(wù)器準(zhǔn)備響應(yīng)。

2. 2xx Success

2xx 狀態(tài)碼表示客戶端的請求被成功接收、理解和接受。

(1)200 OK

表示客戶端發(fā)來的請求被服務(wù)器端正常處理了。從 SEO 的角度來看,200 OK 狀態(tài)碼是功能頁面的完美狀態(tài)碼,所有鏈接頁面都在正常工作。200 表示搜索引擎爬蟲可以成功爬取該頁面并將其放入其搜索引擎中。

(2)201 Created

服務(wù)器完成了瀏覽器的請求,因此創(chuàng)建了一個(gè)或多個(gè)新資源。

(3)202 Accepted

服務(wù)器已接受瀏覽器的請求,但仍在處理中。該請求最終可能會也可能不會進(jìn)行響應(yīng)。

(4)203 Non-authoritative Information

使用代理時(shí)可能會出現(xiàn)此狀態(tài)代碼。這意味著代理服務(wù)器從源服務(wù)器收到了 200 狀態(tài)代碼,但在將響應(yīng)傳遞給瀏覽器之前已對其進(jìn)行了修改。

(5)204 No Content

該狀態(tài)碼表示客戶端發(fā)送的請求已經(jīng)在服務(wù)器端正常處理了,但是沒有返回的內(nèi)容,響應(yīng)報(bào)文中不包含實(shí)體的主體部分。一般在只需要從客戶端往服務(wù)器端發(fā)送信息,而服務(wù)器端不需要往客戶端發(fā)送內(nèi)容時(shí)使用。

(6)205 Reset Content

服務(wù)器端成功處理了請求,且沒有返回任何內(nèi)容。但是與204響應(yīng)不同,返回此狀態(tài)碼的響應(yīng)要求請求者重置文檔視圖。該響應(yīng)主要是被用于接受用戶輸入后,立即重置表單,以便用戶能夠輕松地開始另一次輸入。

(7)206 Partial Content

該狀態(tài)碼表示客戶端進(jìn)行了范圍請求,而服務(wù)器端執(zhí)行了這部分的 GET 請求。響應(yīng)報(bào)文中包含由 Content-Range 指定范圍的實(shí)體內(nèi)容。

(8)226 IM Used

服務(wù)器已成功處理瀏覽器的 GET 方法,以檢索已緩存資源的更新版本。通常,當(dāng)請求的資源有一個(gè)或多個(gè)輕微修改時(shí)返回響應(yīng)。

3. 3xx Redirection

3XX 響應(yīng)結(jié)果表明瀏覽器需要執(zhí)行某些特殊的處理以正確處理請求。

(1)300 Multiple Choices

有時(shí),服務(wù)器可能會響應(yīng)多種可能的資源來滿足瀏覽器的請求。300 狀態(tài)碼意味著瀏覽器現(xiàn)在需要在它們之間進(jìn)行選擇。當(dāng)有多個(gè)可用的文件類型擴(kuò)展名時(shí),可能會發(fā)生這種情況。

(2)301 Moved Permanently

永久重定向。已為目標(biāo)資源分配了一個(gè)新的永久 URI。新的 URI 會在 HTTP 響應(yīng)頭中的 Location 首部字段指定。若用戶已經(jīng)把原來的URI保存為書簽,此時(shí)會按照 Location 中新的URI重新保存該書簽。同時(shí),搜索引擎在抓取新內(nèi)容的同時(shí)也將舊的網(wǎng)址替換為重定向之后的網(wǎng)址。

(3)302 Found

臨時(shí)重定向。請求的資源被分配到了新的 URI,希望用戶(本次)能使用新的 URI 訪問資源。和 301 Moved Permanently 狀態(tài)碼相似,但是 302 代表的資源不是被永久重定向,只是臨時(shí)性質(zhì)的。也就是說已移動的資源對應(yīng)的 URI 將來還有可能發(fā)生改變。

若用戶把 URI 保存成書簽,但不會像 301 狀態(tài)碼出現(xiàn)時(shí)那樣去更新書簽,而是仍舊保留返回 302 狀態(tài)碼的頁面對應(yīng)的 URI。同時(shí),搜索引擎會抓取新的內(nèi)容而保留舊的網(wǎng)址。因?yàn)榉?wù)器返回302代碼,搜索引擎認(rèn)為新的網(wǎng)址只是暫時(shí)的。

使用場景:

未登陸的用戶訪問用戶中心重定向到登錄頁面。

訪問404頁面重新定向到首頁。

(4)303 See Other

由于請求對應(yīng)的資源存在著另一個(gè) URI,應(yīng)使用 GET 方法定向獲取請求的資源。

303 狀態(tài)碼和 302 Found 狀態(tài)碼有著相似的功能,但是 303 狀態(tài)碼明確表示客戶端應(yīng)當(dāng)采用 GET 方法獲取資源。303 狀態(tài)碼通常作為 PUT 或 POST 操作的返回結(jié)果,它表示重定向鏈接指向的不是新上傳的資源,而是另外一個(gè)頁面,比如消息確認(rèn)頁面或上傳進(jìn)度頁面。而請求重定向頁面的方法要總是使用 GET。

注意:

當(dāng) 301、302、303 響應(yīng)狀態(tài)碼返回時(shí),幾乎所有的瀏覽器都會把 POST 改成GET,并刪除請求報(bào)文內(nèi)的主體,之后請求會再次自動發(fā)送。

301、302 標(biāo)準(zhǔn)是禁止將 POST 方法變成 GET方法的,但實(shí)際大家都會這么做。

(5)304 Not Modified

瀏覽器緩存相關(guān)。該狀態(tài)碼表示客戶端發(fā)送附帶條件的請求時(shí),服務(wù)器端允許請求訪問資源,但未滿足條件的情況。304 狀態(tài)碼返回時(shí),不包含任何響應(yīng)的主體部分。304 雖然被劃分在 3XX 類別中,但是和重定向沒有關(guān)系。

帶條件的請求(Http 條件請求):使用 Get方法 請求,請求報(bào)文中包含(if-match、if-none-match、if-modified-since、if-unmodified-since、if-range)中任意首部。

狀態(tài)碼304并不是一種錯(cuò)誤,而是告訴客戶端有緩存,直接使用緩存中的數(shù)據(jù)。返回頁面的只有頭部信息,是沒有內(nèi)容部分的,這樣在一定程度上提高了網(wǎng)頁的性能。

(6)305 Use Proxy

服務(wù)器需要代理才能返回請求的資源。此響應(yīng)代碼當(dāng)前未使用,因?yàn)楫?dāng)前大多數(shù)瀏覽器由于安全問題不支持它。

(7)307 Temporary Redirect

臨時(shí)重定向。該狀態(tài)碼與 302 Found 有著相同含義,盡管 302 標(biāo)準(zhǔn)禁止 POST 變成 GET,但是實(shí)際使用時(shí)還是用了。307 會遵守瀏覽器標(biāo)準(zhǔn),不會從 POST 變成 GET。但是對于處理請求的行為時(shí),不同瀏覽器還是會出現(xiàn)不同的情況。規(guī)范要求瀏覽器繼續(xù)向 Location 的地址 POST 內(nèi)容。規(guī)范要求瀏覽器繼續(xù)向 Location 的地址 POST 內(nèi)容。

(8)308 Permanent Redirect

永久重定向,當(dāng)前及未來的請求重定向到了新的 URL。

4. 4xx Client errors

(1)400 Bad Request

請求報(bào)文中存在語法錯(cuò)誤。當(dāng)錯(cuò)誤發(fā)生時(shí),需修改請求的內(nèi)容后再次發(fā)送請求。

(2)401 Unauthorized

發(fā)送的請求需要有通過 HTTP 認(rèn)證(BASIC 認(rèn)證、DIGEST 認(rèn)證)的認(rèn)證信息。若之前已進(jìn)行過一次請求,則表示用戶認(rèn)證失敗。返回含有 401 的響應(yīng)必須包含一個(gè)適用于被請求資源的 WWW-Authenticate 首部用以質(zhì)詢(challenge)用戶信息。當(dāng)瀏覽器初次接收到 401 響應(yīng),會彈出認(rèn)證用的對話窗口。

(3)402 Payment Required

為數(shù)字支付系統(tǒng)保留的。不過,它并沒有被廣泛使用。

(4)403 Forbidden

客戶端請求已被拒絕,因?yàn)榭蛻舳藷o權(quán)訪問內(nèi)容。與 401 不同,服務(wù)器知道客戶端的身份,但由于他們無權(quán)查看內(nèi)容,因此服務(wù)器拒絕提供正確的響應(yīng)。

(5)404 Not Found

服務(wù)器上無法找到請求的資源,但將來可能可用。除此之外,也可以在服務(wù)器端拒絕請求且不想說明理由時(shí)使用。

(6)405 Method Not Allowed

服務(wù)器識別到瀏覽器使用的 HTTP 請求方法,但需要使用不同的方法才能提供所需的資源。服務(wù)器應(yīng)該總是允許客戶端使用 GET 和 HEAD 方法進(jìn)行訪問。

客戶端可以通過 OPTIONS 方法(預(yù)檢)來查看服務(wù)器允許的訪問方法, 如下

Access-Control-Allow-Methods: GET,HEAD,PUT,PATCH,POST,DELETE

(7)406 Not Acceptable

服務(wù)器通知客戶端沒有資源符合瀏覽器請求的標(biāo)準(zhǔn)。

(8)407 Proxy Authentication Required

客戶端必須首先通過代理進(jìn)行身份驗(yàn)證。

(9)408 Request Timeout

當(dāng)服務(wù)器在等待來自瀏覽器的完整請求時(shí)超時(shí)時(shí)會生成此狀態(tài)碼。換句話說,服務(wù)器沒有收到瀏覽器發(fā)送的完整請求。一種可能的原因就是網(wǎng)絡(luò)擁塞導(dǎo)致瀏覽器和服務(wù)器之間的數(shù)據(jù)包丟失。

(10)409 Conflict

服務(wù)器無法處理瀏覽器的請求,因?yàn)榕c相關(guān)資源存在沖突。這有時(shí)是由于多個(gè)同時(shí)編輯而發(fā)生的。

(11)410 Gone

請求的資源將來將不再可用。

(12)411 Length Required

請求的資源需要客戶端指定一定的長度,通過 Content-Length 來定義。

(13)412 Precondition Failed

服務(wù)器不滿足請求頭字段中指示的一個(gè)或多個(gè)先決條件。

(14)413 Payload Too Large

服務(wù)器拒絕處理請求,因?yàn)檎埱蟮呢?fù)載大于服務(wù)器能夠或愿意處理的。雖然服務(wù)器可能會關(guān)閉連接以阻止客戶端繼續(xù)請求,但它應(yīng)該生成一個(gè) Retry-After 頭字段以及客戶端可以在多長時(shí)間后重試。

(15)414 Request-URI Too Long

瀏覽器發(fā)出的請求無法被服務(wù)器處理,因?yàn)榭蛻舳藢⑻鄶?shù)據(jù)編碼為查詢字符串,然后作為 GET 方法發(fā)送。

(16)415 Unsupported Media Type

請求已被服務(wù)器拒絕,因?yàn)樗恢С终埱髷?shù)據(jù)的媒體格式。

(17)416 Requested Range Not Satisfiable

請求的 Range 頭中指定的范圍無法滿足。原因可能是給定范圍超出了目標(biāo) URI 數(shù)據(jù)的大小。

(18)417 Expectation Failed

服務(wù)器無法滿足請求的請求頭的 Expect 字段中指定的要求。

(19)421 Misdirected Request

瀏覽器的請求已被重定向到其他服務(wù)器,該服務(wù)器無法產(chǎn)生響應(yīng)。

(20)422 Unprocessable Entity

瀏覽器發(fā)出的請求中存在語義錯(cuò)誤,服務(wù)器無法處理。

(21)423 Locked

對所需資源的訪問被拒絕,因?yàn)樗驯绘i定。

(22)424 Failed Dependency

瀏覽器發(fā)出的請求失敗,因?yàn)樗蕾囉诹硪粋€(gè)請求,而該請求失敗了。

(23)426 Upgrade Required

當(dāng)服務(wù)器拒絕使用當(dāng)前協(xié)議執(zhí)行給定的請求時(shí),它可能愿意在客戶端升級到不同的協(xié)議后這來執(zhí)行請求。

(24)428 Precondition Required

服務(wù)器要求在處理請求之前指定條件。

(25)429 Too Many Requests

用戶在給定的時(shí)間內(nèi)發(fā)送了太多請求(速率限制)時(shí),這是由服務(wù)器生成的。這有時(shí)可能是由于機(jī)器人或腳本試圖訪問站點(diǎn)而造成的。

(26)431 Request Header Fields Too Large

服務(wù)器無法處理請求,因?yàn)闃?biāo)頭字段太大。這可能是單個(gè)標(biāo)頭字段或所有標(biāo)頭字段存在問題。

(27)451 Unavailable For Legal Reasons

服務(wù)器的運(yùn)營商收到了禁止訪問請求的資源的要求。

(28)499 Client closed request

當(dāng) nginx 正在處理請求時(shí),客戶端關(guān)閉了連接,nginx 就會返回此狀態(tài)碼。

5. 5xx Server Error

5XX 的響應(yīng)結(jié)果表明服務(wù)器本身發(fā)生錯(cuò)誤。

(1)500 Internal Server Error

服務(wù)器端在執(zhí)行請求時(shí)發(fā)生了錯(cuò)誤。也有可能是應(yīng)用存在 bug 或某些臨時(shí)的故障。

(2)501 Not Implemented

請求無法處理,因?yàn)榉?wù)器不支持。

(3)502 Bad Gateway

該扮演網(wǎng)關(guān)或代理角色的服務(wù)器從上游服務(wù)器中接收到的響應(yīng)是無效的。注意,502 錯(cuò)誤通常不是客戶端能夠修復(fù)的,而是需要由途經(jīng)的服務(wù)器或者代理服務(wù)器對其進(jìn)行修復(fù)

(4)503 Service Unavailable

服務(wù)器暫時(shí)處于超負(fù)載或正在進(jìn)行停機(jī)維護(hù),現(xiàn)在無法處理請求。

使用場景:

服務(wù)器停機(jī)維護(hù)時(shí),主動用503響應(yīng)請求;

nginx 設(shè)置限速,超過限速,會返回503。

(5)504 Gateway Timeout

網(wǎng)關(guān)或者代理的服務(wù)器無法在規(guī)定的時(shí)間內(nèi)獲得想要的響應(yīng)。它是HTTP 1.1中新加入的。

使用場景:

代碼執(zhí)行時(shí)間超時(shí);

代碼發(fā)生了死循環(huán)。

(6)505 HTTP Version Not Supported

請求中使用的 HTTP 版本不受服務(wù)器支持。

(7)506 Variant Also Negotiates

服務(wù)器內(nèi)部配置錯(cuò)誤。

(8)507 Insufficient Storage

服務(wù)器無法存儲完成請求所必須的內(nèi)容。

(9)508 Loop Detected

服務(wù)器在處理請求時(shí)檢測到無限循環(huán)。

(10)510 Not Extended

服務(wù)器需要進(jìn)一步擴(kuò)展才能滿足請求。

(11)511 Network Authentication Required

客戶端需要進(jìn)行身份驗(yàn)證才能獲得訪問權(quán)限。

責(zé)任編輯:武曉燕 來源: 前端充電寶
相關(guān)推薦

2022-04-13 09:01:45

SASSCSS處理器

2024-06-12 08:36:25

2024-03-05 10:09:16

restfulHTTPAPI

2022-12-26 07:48:04

敏捷項(xiàng)目

2023-01-30 09:01:54

圖表指南圖形化

2024-08-19 10:24:14

2022-09-26 08:49:11

Java架構(gòu)CPU

2022-12-08 10:49:43

2022-07-11 09:00:37

依賴配置文件Mybati

2023-01-29 08:08:34

并發(fā)庫conc通用庫

2023-07-10 08:36:21

工具pptword

2023-07-30 22:29:51

BDDMockitoAssert測試

2023-10-26 07:15:46

2024-03-04 07:41:18

SpringAOPOOP?

2022-12-27 08:45:00

繪制菜單符號

2023-03-07 07:50:15

Transactio事務(wù)代碼

2024-11-08 08:56:01

2023-05-04 10:08:00

Windows 10WinAFL二進(jìn)制

2022-05-06 09:00:56

CSS元素Flex

2022-10-09 09:30:33

CSS瀏覽器十六進(jìn)制
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 狠狠色综合久久丁香婷婷 | 日韩精品一区二区三区老鸭窝 | 亚洲精品久久区二区三区蜜桃臀 | 国内精品久久精品 | 综合成人在线 | 日韩一二三区视频 | 天堂在线免费视频 | 男女下面一进一出网站 | 国产在线观| 成人免费视频 | 日韩成人在线观看 | 免费在线黄 | 欧美亚洲一区二区三区 | 搞黄网站在线观看 | 午夜视频在线观看视频 | 性色av一区 | 一区中文字幕 | 午夜寂寞影院列表 | 国产精品久久久免费 | 成人午夜在线观看 | 国产美女特级嫩嫩嫩bbb片 | 精品久久久久久久久久久下田 | 日韩成人在线视频 | 一级在线 | 91小视频| 成人自拍视频 | 中文字幕在线观看一区二区 | 日日干夜夜操天天操 | 精品亚洲永久免费精品 | 日韩精品久久一区二区三区 | 麻豆国产一区二区三区四区 | 久久国内 | 毛片国产| 欧美一区免费 | ririsao久久精品一区 | 国产精品美女久久久 | av av在线| 天天天插 | 成人污污视频 | 欧洲国产精品视频 | 天天爱av|