国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

HTTP狀態(tài)碼

junfeng777 / 3056人閱讀

摘要:若用戶發(fā)起了一個條件請求,而資源近期未被修改,可以通過該狀態(tài)碼表明。將來的請求應該使用老的和狀態(tài)碼之間存在一些交叉。服務器擔心請求會引發(fā)沖突時,可以發(fā)送此狀態(tài)碼。

狀態(tài)碼

狀態(tài)碼是來告訴客戶端,發(fā)生了什么事情。狀態(tài)碼為客戶端提供了一種理解事務處理結果便捷方式。狀態(tài)碼位于響應的起始行中

比如,在行 HTTP/1.0 200 OK 中,狀態(tài)碼就是200

客戶端向一個 HTTP 服務器發(fā)送請求報文時,會遇到很多意想不到的情況,請求不一定能夠成功完成。服務器可能會告訴你無法找到所請求的資源,你沒有訪問資源的權限,或者資源被移到了其他地方

狀態(tài)碼是在每條響應報文的起始行中返回的。會返回一個數(shù)字狀態(tài)和一個可讀的狀態(tài)。數(shù)字碼便于程序進行差錯處理,而原因短語則便于人們理解

原因短語

原因短語是響應起始行中的最后一個組件。它為狀態(tài)碼提供了文本形式的解釋

比如,在行 HTTP/1.0 200 OK 中,OK 就是原因短語

原因短語和狀態(tài)碼是成對出現(xiàn)的。原因短語是狀態(tài)碼的可讀版本,應用程序開發(fā)者將其傳送給用戶,用于說明在請求間發(fā)生了什么情況。HTTP 規(guī)范并沒有提供任何硬性規(guī)定,要求原因短語以何種形式出現(xiàn)

《PHP面試問答》 https://github.com/colinlet/P...
結合實際 PHP 面試,系統(tǒng)的匯總面試中的各種各樣的問題,嘗試提供簡潔準確的答案。如果你在 PHP 面試中遇到問題,歡迎提 Issues 交流。包含網(wǎng)絡協(xié)議、數(shù)據(jù)結構與算法、PHP、Web、MySQL、Redis、Linux、安全、設計模式、架構、自我介紹、離職原因、職業(yè)規(guī)劃、準備問題等部分
如果覺得不錯歡迎 star 關注,正在不斷持續(xù)更新中~~
狀態(tài)碼分類 五大類

可以通過三位數(shù)字代碼對不同狀態(tài)碼進行分類

200 到 299 之間的狀態(tài)碼表示成功

300 到 399 之間的代碼表示資源已經(jīng)被移走了

400 到 499 之間的代碼表示客戶端的請求出錯了

500 到 599 之間的代碼表示服務器出錯了

狀態(tài)碼 整體范圍 已定義范圍 分類
1XX 100~199 100~101 信息提示
2XX 200~299 200~206 成功
3XX 300~399 300~305 重定向
4XX 400~499 400~415 客戶端錯誤
5XX 500~599 500~505 服務器錯誤

當前的 HTTP 版本只為每類狀態(tài)定義了幾個代碼。隨著協(xié)議的發(fā)展,HTTP 規(guī)范中會正式地定義更多的狀態(tài)碼。若收到了不認識的狀態(tài)碼,可能是有人將其作為當前協(xié)議的擴展定義的。可以根據(jù)其所處的范圍,將它作為那個類別中一個普通的成員來處理

例如,若收到了狀態(tài)碼 515(在 5XX 代碼的已定義范圍之外),就應該認為這條響應指出了服務器的錯誤,這是 5XX 報文的通用類別
100 ~ 199,信息狀態(tài)碼

HTTP/1.1 向協(xié)議中引入了信息性狀態(tài)碼。這些狀態(tài)碼相對較新,關于其復雜性和感
知價值存在一些爭論,而受到限制

狀態(tài)碼 原因短語 含義
100 Continue 說明收到了請求的初始部分,請客戶端繼續(xù)。發(fā)送了這個狀態(tài)碼之后,服務器在收到請求之后必須進行響應
101 Switching Protocols 說明服務器正在根據(jù)客戶端的指定,將協(xié)議切換成 Update 首部所列的協(xié)議

100 Continue 狀態(tài)碼的目的是對這樣的情況進行優(yōu)化:HTTP 客戶端應用程序有一個實體的主體部分要發(fā)送給服務器,但希望在發(fā)送之前查看一下服務器是否會接受這個實體。客戶端應用程序只有在避免向服務器發(fā)送一個服務器無法處理或使用的大實體,才應該使用 100 Continue

200 ~ 299,成功狀態(tài)碼

客戶端發(fā)起請求時,這些請求通常都是成功的。服務器有一組用來表示成功的狀態(tài)碼,分別對應于不同類型的請求

狀態(tài)碼 原因短語 含義
200 OK 請求沒問題,實體的主體部分包含了所請求的資源
201 Created 用于創(chuàng)建服務器對象的請求(比如:PUT)。響應的實體主體部分中應該包含引用了已創(chuàng)建的資源的URL,Location首部包含的則是最具體的引擎。服務器必須在發(fā)送這個狀態(tài)碼之前創(chuàng)建好對象
202 Accepted 請求已被接受,服務器還未對其執(zhí)行任何動作。不能保證服務器會完成這個請求;接受請求時,它看起來是有效的。服務器應在實體的主體部分包含對請求狀態(tài)的描述,或附加請求預計處理時間、信息獲取指針
203 Non-Authoritative Information 實體首部包含的信息不是來自于源端服務器,而是來自資源的副本。如果中間節(jié)點上有一份副本,但無法或沒有對元數(shù)據(jù)進行驗證,就會出現(xiàn)這種情況
204 No Content 響應報文中包含若干首部和一個狀態(tài)行,但沒有實體的主體部分。主要用于在瀏覽器不轉為顯示新文檔的情況下,對其進行更新(比如刷新一個表單頁面)
205 Reset Content 另一個主要用于瀏覽器的代碼。負責告知瀏覽器清除當前頁面中的所有 HTML 表單元素
206 Partial Content 成功執(zhí)行了一個部分或 Range(范圍)請求。客戶端可以通過一些特殊的首部來獲取部分或某個范圍內(nèi)的文檔
300 ~ 399,重定向狀態(tài)碼

重定向狀態(tài)碼要么告知客戶端使用替代位置來訪問他們所感興趣的資源,要么就提供一個替代的響應而不是資源的內(nèi)容。如果資源已被移動,可發(fā)送一個重定向狀態(tài)碼和一個可選的 Location 首部來告知客戶端資源已被移走,以及現(xiàn)在可以在哪里找到它。這樣,瀏覽器就可以在不打擾使用者的情況下,透明地轉入新的位置了

請求報文

GET /index.php HTTP/1.1
Host: blog.maplemark.cn
Accept: *

響應報文

HTTP/1.1 301 Moved Permanently
Server: nginx/1.12.2
Date: Fri, 19 Apr 2019 03:58:59 GMT
Content-Type: text/html; charset=UTF-8
X-Powered-By: PHP/7.2.16
Location: https://blog.maplemark.cn/

請求報文

GET / HTTP/1.1
Host: blog.maplemark.cn
Accept: *

響應報文

HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Fri, 19 Apr 2019 03:59:34 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
...
狀態(tài)碼 原因短語 含義
300 Multiple Choices 客戶端請求一個實際指向多個資源的URL時會返回這個狀態(tài)碼,比如服務器上有某個HTML文檔有多個語言版本。返回時會帶有一個選項列表,用戶可以選擇期望使用的那項
301 Moved Permanently 在請求的 URL 已被移除時使用。響應的 Location 首部中應該包含資源現(xiàn)在所處的 URL
302 Found 與 301 狀態(tài)碼類似;但是,客戶端應該使用 Location 首部給出的URL 來臨時定位資源。將來的請求仍應使用老的 URL
303 See Other 告知客戶端應該用另一個 URL 來獲取資源。新的 URL 位于響應報文的 Location 首部。其主要目的是允許 POST 請求的響應將客戶端定向到某個資源上去
304 Not Modified 客戶端可以通過所包含的請求首部,使其請求變成有條件的。若用戶發(fā)起了一個條件 GET 請求,而資源近期未被修改,可以通過該狀態(tài)碼表明。帶有這個狀態(tài)碼的響應不應該包含實體的主體部分
305 Use Proxy 用來說明必須通過一個代理來訪問資源;代理的位置由 Location首部給出。客戶端是相對某個特定資源來解析這條響應的,不能假定所有請求,甚至所有對持有所請求資源的服務器的請求都通過這個代理進行。如果客戶端錯誤地讓代理介入了某條請求,可能會引發(fā)破壞性的行為,而且會造成安全漏洞
306 (未使用) 當前未使用
307 Temporary Redirect 與 301 狀態(tài)碼類似;但客戶端應該使用 Location 首部給出的 URL來臨時定位資源。將來的請求應該使用老的 URL
302、303 和 307 狀態(tài)碼之間存在一些交叉。這些狀態(tài)碼的用法有著細微的差別,大部分差別都源于 HTTP/1.0 和 HTTP/1.1 應用程序對這些狀態(tài)碼處理方式的不同,為兼容 HTTP/1.0 而保留了一些狀態(tài)碼(例如 302 狀態(tài)碼)
400 ~ 499,客戶端錯誤狀態(tài)碼

有時客戶端會發(fā)送一些服務器無法處理的東西,比如格式錯誤的請求報文,或者最常見的是,請求一個不存在的 URL

很多客戶端錯誤都是由瀏覽器來處理的,甚至不會打擾到你。只有少量錯誤,比如404,還是會穿過瀏覽器來到用戶面前

狀態(tài)碼 原因短語 含義
400 Bad Request 用于告知客戶端它發(fā)送了一個錯誤的請求
401 Unauthorized 與適當?shù)氖撞恳煌祷兀谶@些首部中請求客戶端在獲取對資源的訪問權之前,對自己進行認證
402 Payment Required 現(xiàn)在這個狀態(tài)碼還未使用,但已經(jīng)被保留,以作未來之用
403 Forbidden 用于說明請求被服務器拒絕了。如果服務器想說明為什么拒絕請求,可以包含實體的主體部分來對原因進行描述。但這個狀態(tài)碼通常是在服務器不想說明拒絕原因的時候使用的
404 Not Found 用于說明服務器無法找到所請求的 URL。通常會包含一個實體,以便客戶端應用程序顯示給用戶看
405 Method Not Allowed 發(fā)起的請求中帶有所請求的 URL 不支持的方法時,使用此狀態(tài)碼。應該在響應中包含 Allow 首部,以告知客戶端對所請求的資源可以使用哪些方法
406 Not Acceptable 客戶端可以指定參數(shù)來說明它們愿意接收什么類型的實體。服務器沒有與客戶端可接受的 URL 相匹配的資源時,使用此代碼。通常,服務器會包含一些首部,以便客戶端弄清楚為什么請求無法滿足
407 Proxy Authentication Required 與 401 狀態(tài)碼類似,但用于要求對資源進行認證的代理服務器
408 Request Timeout 如果客戶端完成請求所花的時間太長,服務器可以回送此狀態(tài)碼,并關閉連接。超時時長隨服務器的不同有所不同,但通常對所有的合法請求來說,都是夠長的
409 Conflict 用于說明請求可能在資源上引發(fā)的一些沖突。服務器擔心請求會引發(fā)沖突時,可以發(fā)送此狀態(tài)碼。響應中應該包含描述沖突的主體
410 Gone 與 404 類似,只是服務器曾經(jīng)擁有過此資源。主要用于 Web 站點的維護,這樣服務器的管理者就可以在資源被移除的情況下通知客戶端了
411 Length Required 服務器要求在請求報文中包含 Content-Length 首部時使用
412 Precondition Failed 客戶端發(fā)起了條件請求,且其中一個條件失敗了的時候使用。客戶端包含了 Expect 首部時發(fā)起的就是條件請求
413 Request Entity Too Large 客戶端發(fā)送的實體主體部分比服務器能夠或者希望處理的要大時,使用此狀態(tài)碼
414 Request URI Too Long 客戶端所發(fā)請求中的請求 URL 比服務器能夠或者希望處理的要長時,使用此狀態(tài)碼
415 Unsupported Media Type 服務器無法理解或無法支持客戶端所發(fā)實體的內(nèi)容類型時,使用此狀態(tài)碼
416 Requested Range Not Satisfiable 請求報文所請求的是指定資源的某個范圍,而此范圍無效或無法滿足時,使用此狀態(tài)碼
417 Expectation Failed 請求的 Expect 請求首部包含了一個期望,但服務器無法滿足此期望時,使用此狀態(tài)碼。如果代理或其他中間應用程序有確切證據(jù)說明源端服務器會為某請求產(chǎn)生一個失敗的期望,就可以發(fā)送這個響應狀態(tài)碼
500 ~ 599,服務器錯誤狀態(tài)碼

有時客戶端發(fā)送了一條有效請求,服務器自身卻出錯了。這可能是客戶端碰上了服務器的缺陷,或者服務器上的子元素,比如某個網(wǎng)關資源,出了錯

代理嘗試著代表客戶端與服務器進行交流時,經(jīng)常會出現(xiàn)問題。代理會發(fā)布 5XX 服務器錯誤狀態(tài)碼來描述所遇到的問題

狀態(tài)碼 原因短語 含義
500 Internal Server Error 服務器遇到一個妨礙它為請求提供服務的錯誤時,使用此狀態(tài)碼
501 Not Implemented 客戶端發(fā)起的請求超出服務器的能力范圍(比如,使用了服務器不支持的請求方法)時,使用此狀態(tài)碼
502 Bad Gateway 作為代理或網(wǎng)關使用的服務器從請求響應鏈的下一條鏈路上收到了一條偽響應(比如,它無法連接到其父網(wǎng)關)時,使用此狀態(tài)碼
503 Service Unavailable 用來說明服務器現(xiàn)在無法為請求提供服務,但將來可以。如果服務器知道什么時候資源會變?yōu)榭捎玫模梢栽陧憫邪粋€ RetryAfter 首部
504 Gateway Timeout 與狀態(tài)碼 408 類似,只是這里的響應來自一個網(wǎng)關或代理,它們在等待另一服務器對其請求進行響應時超時了
505 HTTP Version Not Supported 服務器收到的請求使用了它無法或不愿支持的協(xié)議版本時,使用此狀態(tài)碼。有些服務器應用程序會選擇不支持協(xié)議的早期版本

《HTTP狀態(tài)碼》 原文鏈接:https://blog.maplemark.cn/2019/04/http狀態(tài)碼.html?utm=sf

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/31377.html

相關文章

  • http協(xié)議前端常識

    摘要:如果客戶端錯誤的讓代理介入某個請求,可能引發(fā)破壞性的行為,照成安全漏銅問題未使用未使用與狀態(tài)碼類似但客戶端應該使用首部給出的來臨時定位資源。 http showImg(https://segmentfault.com/img/bV7kr7?w=645&h=306); 介紹:http基于tcp/ip通信來傳遞數(shù)據(jù) 注意事項 http是無連接:每次連接只處理一個請求,服務器處理完請求后,...

    KitorinZero 評論0 收藏0
  • HTTP狀態(tài)

    摘要:一臨時響應臨時響應表示臨時響應并需要請求者繼續(xù)執(zhí)行操作的狀態(tài)碼。由擴展的狀態(tài)碼,代表處理將被繼續(xù)執(zhí)行。二成功成功表示成功處理了請求的狀態(tài)碼。如果您的網(wǎng)站上沒有文件,而您在網(wǎng)站管理員工具診斷標簽的頁上看到此狀態(tài)碼,則這是正確的狀態(tài)碼。 什么是HTTP:   HTTP(HyperText Transfer Protocol超文本傳輸協(xié)議)是互聯(lián)網(wǎng)上應用最為廣泛的一種網(wǎng)絡協(xié)議。所有的WWW文...

    shleyZ 評論0 收藏0
  • 都得懂點http

    摘要:臨時性重定向該狀態(tài)碼表示請求的資源已被分配了新的,希望用戶本次請求能使用新的。該狀態(tài)碼表示發(fā)送的請求需要有通過認證認證認證的認證信息。該狀態(tài)碼表明服務器端在執(zhí)行請求時發(fā)生了錯誤。 前言 最近在看nodejs,發(fā)現(xiàn)需要很多http相關的知識,就去找了本「圖解HTTP」看,記錄下自己覺得比較重要的知識點 URI格式 http:// user:passwd @www.cheesekun....

    ghnor 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<