首頁  >  文章  >  web前端  >  這些核心知識點,前後端溝通必須掌握!

這些核心知識點,前後端溝通必須掌握!

藏色散人
藏色散人轉載
2022-08-07 13:47:531517瀏覽

什麼是restful?

restful是當下最受歡迎的介面設計規範,前端和後端都必須知道的一種規範
該規範定義了在介面開發中,各個流程中

#協定

客戶端在透過API 與後端服務通訊的過程中,應該使用HTTPS 協定

網域

API 應該部署在專用域名之下,應盡可能保持足夠簡單。如果確定API 很簡單,不會有進一步擴展,可以考慮放在主域名下,這裡有兩個常見的URL 根例子:

  • api.example.com/* 單獨一個子域名用來存取介面
  • example.com/api/* 主網域下方單獨一個空間

版本(Versioning)

##所有的API 必須保持向後相容,你必須在引入新版API 的同時確保舊版API 仍然可用。所以應該為其提供版本支援

位址(path) 路由(router)

#API 的具體網址

    URL 的命名必須全部小寫
  • URL 中資源(resource)的命名必須是名詞,並且必須是複數形式
  • 必須優先使用Restful 類型的URL
  • URL 必須是易讀的
  • URL 一定不可暴露伺服器架構
至於URL 是否必須使用連字號(-) 或底線(_),不做硬性規定,但必鬚根據團隊狀況統一一種風格

    https://api.example.com/zoos
  • https://api.example.com/animals
  • https://api .example.com/zoos/{zoo}/animals
  • https://api.example.com/animal_types
  • https://api.example.com/employees

動詞(請求方法method)

#對於資源的特定操作類型,由HTTP 動詞表示。常用的 HTTP 動詞有下面五個(括號裡是對應的 SQL 指令)。

    GET(SELECT):從伺服器取出資源(一項或多項)。
  • POST(CREATE):在伺服器新建一個資源。
  • PUT(UPDATE):在伺服器更新資源(客戶端提供變更後的完整資源)全更新。
  • PATCH(UPDATE):在伺服器更新資源(客戶端提供改變的屬性)部分更新。
  • DELETE(DELETE):從伺服器刪除資源。

url參數

所有URL 參數必須是全小寫,必須使用底線類型的參數形式

分頁參數必須固定為page、page_size

回應(Response)

#必須選擇適當的HTTP 狀態碼。

必須 傳回 JSON 格式資料。
所有錯誤必須統一錯誤格式。

常見的狀態碼

    1xx 代表請求已被接受,需要繼續處理api中一般不出現
  • 2xx 請求已成功,請求所希望的回應頭或資料體將隨此回應傳回
    • 200 伺服器成功傳回使用者請求的資料
    • 201 使用者新建或修改資料成功
    • 202 表示一個請求已經進入後台排隊(成功了沒有回傳值,是一個非同步)
    • 204 刪除成功
  • 3xx 重定向
  • 4xx 用戶端原因引起的錯誤
    • 404 請求的介面不存在,錯誤類型(請求地址錯了)
    • 401 使用者未登入
    • 403 使用者登入了,但是沒有權限訪問
    • 422 用戶端參數錯誤,驗證錯誤
    • 429 超出請求限制
  • 5xx 服務端原因所造成的錯誤
    • ##500伺服器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理,服務端代碼報錯
    • 503 伺服器維護之中
    • 504 逾時呼叫

#錯誤格式

'message' => ':message',          // 错误的具体描述
'errors' => ':errors',            // 参数的具体错误描述,422 等状态提供
'code' => ':code',                // 业务自定义的异常码
'status_code' => ':status_code',  // http状态码
'debug' => ':debug',              // debug 信息,非生产环境提供

什麼是封包?

HTTP訊息時是HTTP進行請求和回應時用來交換訊息的。封包是由客戶端流入伺服器的

封包分為兩類:請求封包,回應封包

請求和回應封包的基本封包結構相同,都是由三部分組成:

    起始行:對封包進行描述
  • 首部:一些屬性
  • 主體:資料【可選】

#axios

相容瀏覽器和node伺服器

從瀏覽器建立XMLHttpRequests
從node.js 建立http 請求

#支援Promise API

支援攔截請求和回應
轉換請求資料和回應資料
取消請求
自動轉換JSON 資料
用戶端支援防禦XSRF

加油,陌生人! (來來去去不陌生,希望對您有幫助)#

以上是這些核心知識點,前後端溝通必須掌握!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除