Microsoft Application Request Routing is a proxy based routing module that forwards HTTP requests to application servers based on HTTP headers and server variables, and load balancing algorithms. It also comes with both memory and disk based caching capabilities, making it ideal as a HTTP cache proxy.