02-HTTP的請求方法以及響應狀態碼

来源:https://www.cnblogs.com/licker/archive/2018/08/04/9418509.html
-Advertisement-
Play Games

1. HTTP的請求方法以及響應狀態碼 1.1. 請求方法 http請求方法有GET、POST、PUT、HEAD、DELETE、OPTIONS、TRACE、CONNECT。當然上述方法是基於HTTP/1.1的,HTTP/1.0中獨有的方法就不說了。 GET 獲取資源 GET方法一般用來從伺服器上獲取 ...


1.   HTTP的請求方法以及響應狀態碼

1.1. 請求方法

http請求方法有GET、POST、PUT、HEAD、DELETE、OPTIONS、TRACE、CONNECT。當然上述方法是基於HTTP/1.1的,HTTP/1.0中獨有的方法就不說了。

  • GET----獲取資源
    • GET方法一般用來從伺服器上獲取資源的方法。伺服器端接到GET請求後,就會明白客戶端是要從伺服器端獲取相應的資源,然後就會根據請求報文中相應的參數,將需要的資源返回給客戶端。使用GET方式的請求,傳輸的參數是拼接在URI上的。
  • POST----數據提交
    • POST方法一般用於表單提交,將客戶端的數據塞到請求體中發送給伺服器端。
  • PUT----上傳文件
    • PUT方法主要用來上傳文件,將文件內容塞到請求報文體中,傳輸給伺服器。因為HTTP/1.1的PUT方法自身不帶驗證機制,所以任何人都可以上傳文件,存在安全性,所以上傳文件時不推薦使用。但是在設計介面使用REST標準時,可以使用PUT來做相應內容的更新。
  • HEAD----獲取響應報文頭
    • 響應端收到HEAD請求後,只會返回相應的響應頭,不會返迴響應體。
  • DELETE----刪除文件
    • DELETE用於刪除URI指定的資源,與PUT一樣,自身也是不帶驗證機制的,不過在REST標準中可以用來做相應API的刪除功能。
  • OPTIONS----查詢支持的方法
    • OPTIONS方法是用來查詢伺服器可對那些請求方法做出響應,返回內容就是響應端所支持的方法。
  • TRACE----追蹤路徑
    • TRACE方法可追蹤請求經過的代理路徑,在發送請求時會為Max-Forwards頭部欄位填入數字,每經過一個代理中轉Max-Forwards的值就會減一,直至Max-Forwards為零後,才會返回200。因為該方法易引起XST(Cross-Site Tracing,跨站追蹤)攻擊,所以不常用呢。
  • CONNECT----要求用隧道協議連接代理
    • CONNECT方法要求在與代理伺服器通信時建立隧道,實現用隧道協議進行TCP通信。主要使用SSL(Secure Sockets Layer, 安全套接層)和TLS(Transport Layer Security, 傳輸安全層)協議將通信內容進行加密後經網路隧道傳輸。

1.2. 響應狀態碼

HTTP協議的響應狀態碼。顧名思義,響應狀態碼是用來標誌HTTP響應狀態的,響應狀態由響應狀態碼和響應原因短語構成,當然狀態碼有很多中,本部分就挑出來常用的狀態碼進行討論。下方是響應狀態碼可以分為的幾大類:

  • 1xx ---- Informational(信息性狀態碼),表示接受的請求正在處理。
  • 2xx ---- Success (成功),表示請求正常處理完畢。
  • 3xx ---- Redirection (重定向),表示要對請求進行重定向操作,當然其中的304除外。
  • 4xx ---- Client Error (客戶端錯誤),伺服器無法處理請求。
  • 5xx ---- Server Error (伺服器錯誤),伺服器處理請求時出錯。

上面是響應狀態碼的整體分類,接下來介紹一些常用的響應狀態碼。

  (01)、200 OK : 表示服務端正確處理了客戶端發送過來的請求。

  (02)、204 No Content ['kɒntent]內容: 表示服務端正確處理請求,但沒有報文實體要返回。

  (03)、206 Partial [ˈpɑ:ʃl]部分 Content :表示服務端正確處理了客戶端的範圍請求,並按照請求範圍返回該指定範圍內的實體內容。

  (04)、301 Moved Permanently['pɜ:mənəntlɪ]永久的:永久性重定向,若之前的URI保存到了書簽,則更新書簽中的URI。

  (05)、302 Found:臨時重定向,該重定向不會變更書簽中的內容。

  (06)、303 See Other:臨時重定向,與302功能相同,但是303狀態嗎明確表示客戶端應當採用GET方法獲取資源。

  (07)、304 Not Modified: 資源未變更,該狀態碼與重定向並沒有什麼關係,當返回該狀態碼時,告訴客戶端請求的資源並沒有更新,響應報文體中並不會返回所請求的內容。

  (08)、400 Bad Request: 錯誤請求,表示請求報文中包含語法錯誤。

  (09)、401 Unauthorized[ʌnˈɔ:θəraɪzd]未經許可的:請求未認證,表示此發送的請求需要客戶端進行HTTP認證(稍後會提到)。

  (10)、404 Not Found:找不到相應的資源,表示伺服器找不到客戶端請求的資源。

  (11)、500 Internal [ɪnˈtɜ:nl]Server Error:伺服器內部錯誤,表示伺服器在處理請求時出現了錯誤,發生了異常。

  (12)、503 Service Unavailable[ˌʌnəˈveɪləbl]難以獲得的:服務不可用,表示伺服器處於停機狀態,無法處理客戶端發來的請求。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 專為解答C#初級問題 QQ 群 731738614 ...
  • 判斷連網的方法介紹 1. InternetGetConnectedState 此函數獲取網路狀態有延時,且對網卡傷害較大 MSDN官方自己推薦不建議使用,不管是連網狀態下還是斷網情況下,獲取的網路狀態都有不准確的案例,如下: (BUG) InternetGetConnectedState API r ...
  • //從微信伺服器中下載文件到本地 public JsonResult UploadRecord(string ServerId) { try { member m = base.CurrentUser; string msg = "成功"; bool success = true; SiteSett ...
  • SSH是什麼 1. Secure Shell 安全外殼協議 2. 建立在應用層基礎上的安全協議 3. 可靠、轉為遠程登陸會話和其他網路提供安全性的協議 4. SSH客戶端是用於多種平臺 伺服器安裝SSH服務 1. 安裝: 2. 啟動: 3. 設置開啟運行: 4. 查看進程是否存在: 客戶端安裝SSH ...
  • 四層負載/七層負載 在常規運維工作中,經常會運用到負載均衡服務。負載均衡分為四層負載和七層負載,那麼這兩者之間有什麼不同? 廢話不多說,詳解如下: 1. 什麼是負載均衡 1)負載均衡(Load Balance)建立在現有網路結構之上,它提供了一種廉價有效透明的方法擴展網路設備和伺服器的帶寬、增加吞吐 ...
  • 1. 使用poll機制 1.1 如何使用? a. open("/dev/HPD"); b. poll狀態發生變化 c. read確定接上還是接下 1.2 情景分析: 1. APP使用open("/dev/HPD"); 2. APP : poll 驅動:poll 休眠 中斷 3. APP : read ...
  • 1.虛擬機配製 查看ip: ip addr 配製網卡: 編輯虛擬網路編輯器,修改子網IP 查看ip,輸入ip addr 重啟網路:ifup eth0 關閉網路:ifdown eth0 測試網路:ping www.baidu.com 安裝xshell:(上一篇文件鏈接里或自行百度下載) 登陸後輸入 s ...
  • 首先安裝一個box,安裝一個centos7,然後就是xshell,接下來就是 查看ip 1. ifconfig 2. ip addr 3. vi /etc/sysconfig/network scripts/ifcfg xx 4. yum install net tools 打開box,啟動安裝好的 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...