什么是 REST API?它如何工作?

圖片[1]-什么是 REST API?它如何工作?-光子波動網(wǎng) | 專業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

REST(表述性狀態(tài)轉(zhuǎn)移)API(應(yīng)用程序編程接口)是一種通過互聯(lián)網(wǎng)在不同的軟件組件之間進行通信的機制。它允許開發(fā)人員使用標(biāo)準(zhǔn)的 HTTP 方法(如 GET、POST、PUT、DELETE)來訪問和操作來自 WordPress 等 Web 服務(wù)的數(shù)據(jù)和資源。

例如,使用 JavaScript,可以通過 REST API 從另一個應(yīng)用程序創(chuàng)建、讀取、更新刪除 WordPress 網(wǎng)站上的帖子和頁面。

REST API 基于無狀態(tài)原則,這意味著客戶端向服務(wù)器發(fā)出的每個請求都必須包含處理該請求所需的所有信息。服務(wù)器不會存儲有關(guān)客戶端在請求之間的狀態(tài)或歷史記錄的任何信息。這使得 REST API 更具可擴展性、可靠性和效率。

什么是基本身份驗證?為什么它很重要?

圖片[2]-什么是 REST API?它如何工作?-光子波動網(wǎng) | 專業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

基本身份驗證是一種檢查身份的方法,通過互聯(lián)網(wǎng)發(fā)送你的用戶名和密碼。服務(wù)器驗證這些憑據(jù),如果正確,則允許訪問。

基本身份驗證很重要,因為它幫助保護數(shù)據(jù)和資源不被未經(jīng)授權(quán)的人訪問或更改。如果沒有身份驗證,任何人都可以查看和更改數(shù)據(jù),導(dǎo)致問題或風(fēng)險。然而,基本身份驗證存在一些缺點,例如不加密的憑據(jù)可能會被竊取。

基本身份驗證如何工作?

基本身份驗證通過以下步驟進行:

  1. 客戶端請求需要身份驗證的 URL,例如 https://example.com/secret。
  2. 服務(wù)器響應(yīng) 401 未授權(quán)錯誤和包含身份驗證類型的 WWW-Authenticate 標(biāo)頭。
  3. 客戶端將用戶名和密碼編碼為 base64 字符串,并在請求中發(fā)送授權(quán)標(biāo)頭。
  4. 服務(wù)器解碼憑據(jù)并檢查其有效性。如果有效,授予訪問權(quán)限并返回 200 OK 狀態(tài)碼;如果無效,拒絕訪問并返回另一個 401 錯誤。

WordPress Rest API 的身份驗證方法

圖片[3]-什么是 REST API?它如何工作?-光子波動網(wǎng) | 專業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

WordPress REST API 提供了多種身份驗證選項:

  1. 基本身份驗證:通過請求發(fā)送用戶名和密碼。
  2. OAuth 身份驗證:讓用戶授權(quán)網(wǎng)站或應(yīng)用程序訪問他們在其它網(wǎng)站上的信息。
  3. Cookie 身份驗證:使用 cookie 檢查用戶是否被允許發(fā)出請求并跟蹤其會話。

使用 WordPress Rest API 實現(xiàn)開發(fā)最大化

將其與托管解決方案結(jié)合,以確??焖夙憫?yīng)時間和高正常運行時間??梢酝ㄟ^以下步驟優(yōu)化和使用 REST API。

安裝 WordPress REST API 插件

要啟用 WordPress REST API 插件,可以從 GitHub 獲取并將其克隆到 WordPress 插件目錄中,然后通過 WordPress 管理員激活它。

使用 Postman 發(fā)送經(jīng)過身份驗證的請求

  1. 安裝 Postman Chrome 擴展程序。
圖片[4]-什么是 REST API?它如何工作?-光子波動網(wǎng) | 專業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)
  1. 在 Postman 中選擇“基本身份驗證”,輸入用戶名和密碼,更新請求。
圖片[5]-什么是 REST API?它如何工作?-光子波動網(wǎng) | 專業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)
  1. 發(fā)送需要身份驗證的測試請求,驗證服務(wù)器返回的狀態(tài)。

使用 JavaScript 發(fā)送經(jīng)過身份驗證的請求

通過 JavaScript 使用 jQuery.ajax() 方法發(fā)送請求,并在請求中設(shè)置授權(quán)標(biāo)頭:

jQuery.ajax({
    url: 'http://example.com/wp-json/wp/v2/posts/50',
    method: 'DELETE',
    crossDomain: true,
    beforeSend: function(xhr) {
        xhr.setRequestHeader('Authorization', 'Basic ' + Base64.encode('username:password'));
    },
    success: function(data, txtStatus, xhr) {
        console.log(data);
        console.log(xhr.status);
    }
});

其它身份驗證方法

Cookie 身份驗證

圖片[6]-什么是 REST API?它如何工作?-光子波動網(wǎng) | 專業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

在 WordPress 中,成功登錄儀表板后會設(shè)置正確的 cookie。開發(fā)人員只需登錄即可進行身份驗證,但必須處理 API 的 nonce 以防止 CSRF 問題。

使用 WordPress HTTP API 發(fā)送請求

使用 wp_remote_request() 方法發(fā)送請求,傳遞 URL 和請求頭參數(shù),處理響應(yīng)并執(zhí)行相應(yīng)的操作。

$wp_request_headers = array(
    'Authorization' => 'Basic ' . base64_encode('username:password')
);
$wp_request_url = 'http://example.com/wp-json/wp/v2/posts/50';
$wp_delete_post_response = wp_remote_request(
    $wp_request_url,
    array(
        'method' => 'DELETE',
        'headers' => $wp_request_headers
    )
);
echo wp_remote_retrieve_response_code($wp_delete_post_response) . ' ' . wp_remote_retrieve_response_message($wp_delete_post_response);

總結(jié):

通過這些方法,可以有效地管理和優(yōu)化 WordPress REST API 的使用,從而提升開發(fā)效率和網(wǎng)站安全性。


聯(lián)系我們
教程看不懂?聯(lián)系我們?yōu)槟赓M解答!免費助力個人,小企站點!
客服微信
客服微信
電話:020-2206-9892
QQ咨詢:1025174874
郵件:info@361sale.com
工作時間:周一至周五,9:30-18:30,節(jié)假日休息
? 轉(zhuǎn)載聲明
本文作者:xiesong
THE END
喜歡就支持一下吧
點贊1 分享
評論 搶沙發(fā)

請登錄后發(fā)表評論

    暫無評論內(nèi)容