Маршрутизация на стороне сервера и маршрутизация на стороне клиента
Существует несколько различий между маршрутизацией на стороне сервера и маршрутизацией на стороне клиента, и мы собираемся узнать о них все, но сначала нам нужно понять, как они обе работают своим уникальным способом.
При маршрутизации на стороне сервера, что обычно происходит, когда вы вводите URL-адрес в первый раз или хотите изменить страницу, возможно, вы нажимаете на раздел «О нас» или на панель навигации, браузер сразу же обнаруживает это изменение в URL-адресе, а затем браузер делает HTTP-запрос к серверу, затем сервер повторно отображает HTML в приложении, теперь это может быть очень дорого и потребует времени в зависимости от скорости Интернета и некоторых других факторов.
В маршрутизации на стороне клиента нам не нужно проходить все эти этапы, хотя, когда мы сначала загружаем приложение, которое вводит веб-адрес, приложение полного реагирования отображается с сервера, но после этого, когда вы хотите изменить страницы, может быть, вы нажимаете на панель навигации, браузер следит за изменением URL-адреса и сразу же обнаруживает изменение в URL-адресе, он использует API истории HTML5 для получения страницы, которая уже была загружена, когда приложение было впервые загружено, и возвращает его в браузер, и как маршрутизатор узнает, на какую конкретную страницу ссылается пользователь, перейдя к набору настроек, который будет иметь пару URL-адресов и компонентов, которые будут отображаться в корне этих URL-адресов, поэтому, когда мы нажимаем на панель навигации реагирующий маршрутизатор продолжает поиск URL-адреса и соответствующего ему компонента, а затем этот компонент отображается с помощью вызова функции javascript.
Таким образом, использование react-router позволит нам повторно отображать наше приложение с помощью javascript на стороне клиента, что позволит нам создать одностраничное приложение, которое позволит нам заменить приложение, имитирующее изменение страницы.
Разница между этими двумя маршрутами была указана выше. Стороны сервера должны продолжать делать запросы к серверу, чтобы приложение могло выполнить повторную визуализацию, но клиентской стороне не нужно сохранять запрос к серверу, он просто делает это один раз, когда приложение загружается в браузер, любая другая навигация или изменение страницы просто визуализируются из уже сохраненного приложения, поэтому клиентское приложение может по-прежнему работать без Интернета, если оно уже загружено с Интернетом.