<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      10 響應狀態碼

      狀態行

      狀態行由三部分組成:Version + Status Code + Reason

      1. Version 部分是 HTTP 協議的版本號,通常是 HTTP/1.1,用處不是很大
      2. Reason 部分是原因短語,是狀態碼的簡短文字描述,例如“OK”“Not Found”等等,也可以自定義。
        但它只是為了兼容早期的文本客戶端而存在,提供的信息很有限,目前的大多數客戶端都會忽略它。
      3. 狀態碼一個十進制數字,以代碼的形式表示服務器對請求的處理結果。范圍是 000-999。

      狀態碼的分類

      • 1××:提示信息,表示目前是協議處理的中間狀態,還需要后續的操作;
      • 2××:成功,報文已經收到并被正確處理;
      • 3××:重定向,資源位置發生變動,需要客戶端重新發送請求;
      • 4××:客戶端錯誤,請求報文有誤,服務器無法處理;
      • 5××:服務器錯誤,服務器在處理請求時內部發生了錯誤。

      常用的狀態碼

      1xx

      1. 表示提示信息
      2. 101 Switching Protocols:轉換協議
        • 客戶端使用 Upgrade 頭字段,要求在 HTTP 協議的基礎上改成其他的協議繼續通信,比如 WebSocket。
        • 如果服務器也同意變更協議,就會發送狀態碼 101,但這之后的數據傳輸就不會再使用 HTTP 了。

      2xx

      1. 表示服務器收到并成功處理了客戶端的請求,這也是客戶端最愿意看到的狀態碼。
      2. 200 OK
        • 表示一切正常,服務器如客戶端所期望的那樣返回了處理結果
        • 如果是非 HEAD 請求,通常在響應頭后都會有 body 數據。
      3. 204 No Content
        • 含義與“200 OK”基本相同,但響應頭后沒有 body 數據。
      4. 206 Partial Content:“部分所含之物”
        • HTTP 分塊下載或斷點續傳的基礎,在客戶端發送“范圍請求”、要求獲取資源的部分數據時出現
        • 與 200 一樣,也是服務器成功處理了請求,但 body 里的數據不是資源的全部,而是其中的一部分
        • 伴隨著頭字段“Content-Range”,表示響應報文里 body 數據的具體范圍,供客戶端確認

          例如“Content-Range: bytes 0-99/2000”,意思是此次獲取的是總計 2000 個字節的前 100 個字節

      3xx

      1. 表示客戶端請求的資源發生了變動,客戶端必須用新的 URI 重新發送請求獲取資源,也就是通常所說的“重定向”。
      2. 301 Moved Permanently
        • “永久重定向”,含義是此次請求的資源已經不存在了,需要改用**新的 URI **再次訪問。
      3. 302 Found
        • 俗稱“臨時重定向”,意思是請求的資源還在,但需要暫時用**另一個 URI **來訪問
        • 301 和 302 都會在響應頭里使用字段 Location 指明后續要跳轉的 URI,最終的效果很相似,瀏覽器都會重定向到新的 URI。
      4. 304 Not Modified :未調整
        • 用于 If-Modified-Since 等條件請求,表示資源未修改,用于緩存控制。
        • 不具有通常的跳轉含義,但可以理解成“重定向已到緩存的文件”(即“緩存重定向”)。

      4xx

      1. 客戶端發送報文有誤
      2. 400 Bad Request
        • 報文錯誤,比較籠統
      3. 403 Forbidden
        • 服務器禁止訪問資源
      4. 404 Not Found
        • 服務器未找到,無法提供給客戶端,較籠統
      5. 其他
        • 405 Method Not Allowed:不允許使用某些方法操作資源,例如不允許 POST 只能 GET;
        • 406 Not Acceptable:資源無法滿足客戶端請求的條件,例如請求中文但只有英文;
        • 408 Request Timeout:請求超時,服務器等待了過長的時間;
        • 409 Conflict:多個請求發生了沖突,可以理解為多線程并發時的競態;
        • 413 Request Entity Too Large:請求報文里的 body 太大;
        • 414 Request-URI Too Long:請求行里的 URI 太大;
        • 429 Too Many Requests:客戶端發送了太多的請求,通常是由于服務器的限連策略;
        • 431 Request Header Fields Too Large:請求頭某個字段或總體太大;

      5xx

      1. 表示客戶端請求報文正確,但服務器在處理時內部發生了錯誤,無法返回應有的響應數據,是服務器端的“錯誤碼”
      2. 500 Internal Server Error
        • 和 400 類似,但是對服務器友好。
      3. 501 Not Implemented
        • 客戶端請求的功能不支持
      4. 502 Bad Gateway
        • 通常是服務器作為網關或者代理時返回的錯誤碼,表示服務器自身工作正常,訪問后端服務器時發生了錯誤,但具體的錯誤原因也是不知道的。
      5. 503 Service Unavailable
        • 表示服務器當前很忙,暫時無法響應服務
        • 臨時的
        • 503 響應報文里通常還會有一個“Retry-After”字段,指示客戶端可以在多久以后再次嘗試發送請求。

      疑問

      1. 你在開發 HTTP 客戶端,收到了一個非標準的狀態碼,比如 4××、5××,應當如何應對呢?

        • 目前客戶端基本都是解析成失敗的情況,大部分給個失敗錯誤友好界面。
      2. 你在開發 HTTP 服務器,處理請求時發現報文里缺了一個必需的 query 參數,應該如何告知客戶端錯誤原因呢?

        • 在返回body里面寫明錯誤原因,狀態碼一般給500。
      posted @ 2021-05-09 13:59  hqq的進階日記  閱讀(170)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 性色av一区二区三区精品| 招远市| 亚洲中文字幕无码爆乳app| 国产一区二区不卡精品视频| 日本亚洲一区二区精品久久| 日夜啪啪一区二区三区| 72种姿势欧美久久久久大黄蕉 | 自拍亚洲综合在线精品| 亚洲AV片一区二区三区| 国产偷窥熟女高潮精品视频| 中文字幕av无码一区二区蜜芽三区| 92精品国产自产在线观看481页| 少妇高潮惨叫喷水在线观看| 中国性欧美videofree精品| 午夜精品福利一区二区三| 久久国产成人午夜av影院| 成人免费无码大片a毛片| 九九热免费精品在线视频| 成人网站免费观看永久视频下载| 亚洲国产日韩a在线播放| 亚洲欧洲国产综合一区二区| 久久综合色之久久综合色| 久久婷婷大香萑太香蕉AV人| 九九热精品视频在线免费| 免费无码毛片一区二三区| 午夜夜福利一区二区三区| 99福利一区二区视频| 国产精品毛片无遮挡高清| 国产精品中文一区二区| 亚洲精品麻豆一区二区| 久久国产精品-国产精品| 国产女人18毛片水真多1| 久久99精品久久久久久齐齐| 強壮公弄得我次次高潮A片| 毛片网站在线观看| 老司机久久99久久精品播放免费| 亚洲精品日韩在线丰满| 一区二区三区黄色一级片| 日韩深夜福利视频在线观看| 成人网站免费在线观看| 亚洲欧美人成网站在线观看看|