.. _config_http_conn_man_route_table_route_matching: Route matching ============== When Envoy matches a route, it uses the following procedure: #. The HTTP request's *host* or *:authority* header is matched to a :ref:`virtual host `. #. One of: - Each :ref:`route entry ` in the virtual host is checked, *in order*. If there is a match, the route is used and no further route checks are made. - The :ref:`matcher entry ` in the virtual host is used to match a route. If there are many routes this will typically be more efficient than the linear search of ``route``. #. Independently, each :ref:`virtual cluster ` in the virtual host is checked, *in order*. If there is a match, the virtual cluster is used and no further virtual cluster checks are made.