> For the complete documentation index, see [llms.txt](https://docs.elentra.org/ejs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.elentra.org/ejs/1.0/guide/routing.md).

# Routing

## Introduction <a href="#introduction" id="introduction"></a>

EJS supports both server-side and client-side routing. Each routing method may be used independently or in tandem with another to enable a hybrid solution.

## Server-side Routing <a href="#server-side-routing" id="server-side-routing"></a>

While EJS does not include a facility for server-side routing, it can be easily integrated using [entry points](http://localhost:8000/manual/routing/entry-points).

## Client-side Routing <a href="#client-side-routing" id="client-side-routing"></a>

EJS provides a flexible but straightforward client-side routing library. Using the routing library allows you to design a more responsive user interface, provide location awareness to the user via the address bar, ensure expected behavior of the browser's forward/back buttons, enable programmatic navigation, and allow application state to be pre-populated from a URL.

The client-side router will only consider the hash portion of a URL (follows the `#`).
