// Module included in the following assemblies:
//
// * networking/ingress_load_balancing/configuring_ingress_cluster_traffic/routing-http-requests-to-services.adoc
//
:_mod-docs-content-type: REFERENCE
[id="comparing-openshift-routes-and-httproutes_{context}"]
= {product-title} routes and HTTPRoutes Comparison

[role="_abstract"]
When you migrate from standard networking to the Gateway API, you can compare {product-title} routes with `HTTPRoute` custom resources (CRs) to understand which features are supported and how your configuration must change. While both resources handle ingress traffic, they have distinct feature sets and implementation differences.

The following features are exclusive to `HTTPRoute` CRs:

* Multiple hostnames
* Matching based on HTTP headers
* Matching based on query parameters
* Request header modification
* Request redirection
* Request mirroring

The following features are exclusive to {product-title} routes:

* IP allow lists
* Rate limiting (connection-based)
* Subdomain indication
* Re-encrypt TLS termination
* Passthrough TLS termination

The following table outlines the features that are shared between both resources and how their specific implementations differ:

.Shared features and implementation differences
[cols="1,1,1",options="header"]
|===
|Feature |{product-title} route implementation |`HTTPRoute` implementation

|Path matching
|Supports prefix and exact matching.
|Supports prefix, exact, and regular expression matching.

|Backend references
|Supports weighted traffic delivery to services.
|Supports weighted traffic delivery to services via `backendRefs`.

|Rewrite target
|Configured using the `haproxy.router.openshift.io/rewrite-target` annotation.
|Configured using the `URLRewrite` filter.

|Sharding
|Configured using metadata labels.
|Configured using parent references (`parentRefs`).
|===