リバースプロキシは、着信HTTPリクエストをリッスンして、リクエストの内容に基づいてリクエストを適切なサーバに転送するために使用され、レイヤ4(TCP/IP)で機能する一般的なファイアウォールやルータとは異なりレイヤ7で機能するので、httpを理解し、httpフィールドに基づいて機能する。
YARP(Yet Another Reverse Proxy)は、リクエストをプロキシする際にクライアントからのHTTP接続を処理してから、宛先サーバへの独自の接続を作成するため、双方が接続プールの恩恵を受けられる。
ASP.NETおよび.NETのインフラストラクチャを使用して、.NETで高速プロキシサーバを構築するためのリバースプロキシツールキットであり、各展開シナリオの特定のニーズに合わせて簡単にカスタマイズおよび調整できる。
「YARP 1.0」では、ルートと宛先を定義するために、ファイルの変更を検出して動的に更新される静的構成ファイルや、他のソースとインターフェースするためのプログラムによる構成の拡張性が提供されるほか、ハイパースケールホスティングの場合はルーティングが完全に動的であり、アプリコードによって決定され、リクエストごとに処理される。
複数のサイトをフロントにしてSNI/ホストに基づいてルーティングすることが可能で、リクエストURLとヘッダ値に基づき、ルーティングが行われる。また、宛先の可用性を確認し、不良エントリを除外するためのアクティブおよびパッシブヘルスチェックや、必要に応じて後続のリクエストを同じ宛先にルーティングするSession Affinityを備えており、宛先間の負荷分散のための複数のアルゴリズムを採用し、特定ルートの認証、認可、CORSに対応している。
着信リクエストのURLは、宛先に渡す前に変換でき、リクエストヘッダとレスポンスヘッダの変換、HTTPメソッドの変換が可能なほか、宛先へのアウトバウンドhttp接続を構成できる。さらに、プロキシでのリクエスト転送に関連する標準ヘッダの追加や、ストリーミングを含むgRPCおよびWebソケットトラフィックにも対応する。
診断機能としては、パフォーマンス監視のためのメトリック機能と、各リクエストの詳細な追跡のためのロギング機能を備えている。