

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# HTTP 標頭路由模式
<a name="api-routing-http"></a>

標頭型路由可讓您透過在 HTTP 請求中指定 HTTP 標頭來鎖定每個請求的正確服務。例如，傳送標頭 `x-service-a-action: get-thing` 能讓您從 `Service A` 來 `get thing`。請求的路徑仍然很重要，因為它提供了有關您嘗試使用哪種資源的指導。

除了對動作使用 HTTP 標頭路由之外，您還可以將其用作版本路由的機制，啟用功能旗標、A/B 測試或類似需求。實際上，您可能會使用標頭路由與其他路由方法其中之一來建立強大的 API。

HTTP 標頭路由的架構通常在微服務前有一個精簡路由層，該層會路由到正確的服務並回傳回應，如下列圖表所示。此路由層可以涵蓋所有服務或只是一些服務，以啟用作業，例如版本型路由。

![\[HTTP 標頭路由。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/cloud-design-patterns/images/routing-5.png)


## 優點
<a name="path-routing-http-pros"></a>

組態變更只需要很少的精力，而且可以輕鬆自動化。此方法也很靈活，並且支援創造性的方式，以僅公開您希望從服務中獲得的特定操作。

## 缺點
<a name="path-routing-http-cons"></a>

與主機名稱路由方法一樣，HTTP 標頭路由會假設您對用戶端擁有完全控制權，而且可以操作自訂 HTTP 標頭。代理伺服器、內容交付網路 (CDN) 和負載平衡器可以限制標頭大小。雖然不太需要擔憂，但根據您增加的標頭和 Cookie 數量，這有可能變成問題。