1. Overview
    1. Google Cloud HTTP(S)-based load balancers use a URL map to direct incoming requests to backend services and, for external HTTP(S) load balancers only, backend buckets
    2. Internal HTTP(S) load balancers don't support backend buckets
    3. Every HTTP(S)-based load balancer must have a URL map
    4. URL map directs traffic to default backend service, default backend bucket, non-default backend service and non-default backend bucket
    5. Non-default options are determined based on the configuration specified in the URL map
    6. URL maps are used with External HTTP(S) Load Balancing, Internal HTTP(S) Load Balancing and Traffic Director
    7. When a request arrives at the load balancer, the load balancer routes the request to a particular backend service or backend bucket based on configurations in a URL map
    8. Internal HTTP(S) Load Balancing and Traffic Director use URL maps for host and path-based routing
  2. URL Map Components
    1. URL map is a Google Cloud configuration resource that directs requests for URLs to backend services or backend buckets
    2. It does so by using the host name and path portions for each URL it processes
    3. Default backend service or default backend bucket represents the backend service or backend bucket to which Google Cloud directs requests for URLs with any host name, unless there is an applicable host rule
    4. A host rule directs requests sent to one or more associated host names to a single path matcher
    5. A path matcher is the configuration parameter referenced by a host rule that defines the relationship between the path portion of a URL and the backend service or backend bucket that should serve the request
    6. A path matcher consists of Path matcher default backend service or path matcher default backend bucket
    7. For each path matcher, one or more path rules can be specified, which are key-value pairs mapping a URL path to a single backend service or backend bucket
  3. URL maps and protocols
    1. The same URL map, host rules, and path matchers can be used to process both HTTP and HTTPS requests submitted by clients
    2. Both a target HTTP proxy and a target HTTPS proxy must reference the URL map
    3. URL maps do not provide protocol redirection for connections between clients and the load balancer
    4. A URL map cannot be used to instruct client systems to switch from HTTP to HTTPS
    5. All client protocol redirection must be implemented by the backends