URL還能這樣玩!路徑代理功能實作請求轉送與結果返回

2023-10-16 06:13:46
路徑代理是一項強大的技術,它透過將使用者請求的真實路徑轉送到指定的代理URL,實現對請求的轉送和處理,並將處理後的請求結果傳回給客戶端。此功能有助於統一資源管理,提高處理效率,滿足日益複雜的業務需求,適用於個人化品牌展示、跨平台資源整合等需求情境。





什麼是路徑代理?


將使用者請求的真實路徑轉送至指定的代理URL,從而實現對請求的轉送和處理,然後將處理後的請求結果傳回給客戶端。如此可在不改變商城路徑的情況下,展示來自代理商URL的內容。


舉個例子,當用戶在商城網站上點擊"About us"時,路徑代理可以將該請求轉發到公司官網介紹頁面或Facebook主頁等,然後將相關內容返回給用戶,同時保持商城路徑的不變性。這種擴展方式提供了更多與外部資源整合和互動的機會,為使用者帶來更多豐富多樣的內容和功能體驗。


如何配置?

Step.01 填寫商城中已存在的真實路徑,注意真實路徑不能以斜線(/)開頭,也不能包含問號(?)參數

Step.02 填寫要轉發至的代理URL,並了解我們的精準匹配和泛匹配轉發效果,配置即可完成





效果範例一:在代理URL轉送請求時,會攜帶原始請求的子路徑和參數

配置真實路徑:apps/users

設定代理URL:https://example.com/proxy

原始請求路徑:apps/users/123?status=active

轉送後的請求路徑:https://example.com/proxy/users/123?status=active



效果範例二:如果原始請求和代理URL有相同的參數,則將使用原始請求中的參數值覆寫代理URL

配置真實路徑:apps/orders

設定代理程式URL:https://example.com/api-proxy?status=completed

原始請求路徑:apps/orders/789?status=pending

轉送後的請求路徑:https://example.com/api-proxy/789?status=pending



工作原理



1. 確定來源店鋪ID和目前代理請求來源端存取域名,這些資訊將用作header頭參數。



2. 取得原始請求的子路徑和參數。這些資訊將在轉發請求到代理URL時一併攜帶。



3. 檢查原始請求和代理URL是否具有相同的參數。如果存在相同的參數,則需要使用原始請求中的參數值覆寫代理URL中對應參數的值。



4. 建置轉送請求到代理URL的請求,包括以下內容:
①根據實際需求選擇適當的HTTP或HTTPS協定。
②設定請求的目標URL為代理URL。
③將原始請求的子路徑和參數加入目標URL。
④檢查並處理相同參數的值覆蓋情況。
⑤新增特定的header頭參數到請求中,包括:

"x-oemcart-store-id":設定為來源店舖ID。
"x-oemcart-current-domain":設定為目前代理請求來源端存取網域名稱。



5. 發送轉送請求到代理URL,並等待回應。



推薦使用場景



此功能適用於需要將特定請求從原始服務轉發到代理服務,並透過傳回的HTML代碼將代理URL的內容顯示給使用者的情況



特定的header頭參數可以用於在代理請求中傳遞額外的信息,例如來源店鋪ID和當前代理請求源端訪問域名



透過內鏈頁面轉送進行個人化品牌展示、跨平台資源整合。當使用者點擊頁面內連結或按鈕需要開啟內部指定頁面時,配置轉送規則將請求轉送至代理頁面實作。



注意事項

當代理URL轉送請求時,會攜帶原始請求的子路徑、查詢參數和header頭參數。



代理請求支援GET、POST、DELETE、PUT等請求。



如果原始請求和代理URL具有相同的參數,代理URL將覆寫使用原始請求的參數值。



真實路徑將進行泛匹配。例如,如果您填寫的真實路徑為"apps/products",則"apps/products/123"、"apps/products/123/details"等都會成功配對。



如果您設定了真實路徑"apps/products/123/details"和"apps/products",則路徑更長的"apps/products/123/details"將優先匹配,而不會走"apps/products"的代理轉發設定。

如果真實請求未命中任何代理規則,將會提示404頁。

聯絡信箱: tech@oemsaas.cn

公司地址: 廈門. 成都. 深圳. 漳州

服務 +
幫助中心 開發者API
關於 +
關於我們 產品優勢 合作夥伴
相關條款 +
隱私策略 用戶協議 使用協議 消費相關政策 服務條款