Как работает бэкенд
Как мы уже знаем, веб состоит из двух основных частей: фронтенда и бэкенда. Фронтенд отвечает за представление информации и довольно прост для понимания, поскольку именно с ним мы ежедневно взаимодействуем в интернете. Бэкенд, с другой стороны, включает в себя все части веба, с которыми пользователи напрямую не взаимодействуют. В этом видео мы обсудим основы работы бэкенда веб-сайта, проследив все шаги, которые должен пройти бэкенд с момента получения запроса до момента отправки ответа клиенту. Начнем с самого начала: сервер получает запрос от клиента в виде URL-адреса. Из этого URL-адреса сервер может получить почти всю необходимую информацию для обработки запроса. Давайте разберем типичный URL-адрес. В начале у нас есть протокол запроса. Единственное, что делает протокол, это сообщает серверу, зашифрован ли запрос. HTTP используется для стандартных незашифрованных запросов, а HTTPS — для зашифрованных запросов. Помимо указания серверу, зашифрован ли ответ или нет, протокол не влияет на обработку запросов сервером и может быть проигнорирован. Далее у нас есть хост, также известный как доменное имя. Опять же, для сервера это неважно, поскольку он лишь сообщает интернету, какому серверу отправить ответ. У каждого сервера свой хост, поэтому, как только запрос фактически попадает на сервер, хост не имеет значения, поскольку все запросы к серверу будут иметь один и тот же хост. Например, youtube.com — это хост для сервера YouTube, поэтому сервер YouTube уже знает, что все получаемые им запросы будут иметь хост youtube.com. Это означает, что мы можем спокойно игнорировать первую половину URL, оставляя нам последние две части URL: путь и строку запроса. Путь сообщает серверу, что хочет клиент, и определяет, какой раздел кода на сервере должен быть выполнен для получения правильного ответа. По сути, сервер разбит на множество различных разделов, каждый из которых соответствует определенному пути. Наконец, строка запроса используется определенным разделом сервера для изменения ответа. Строка запроса разбивается на конкретные параметры запроса, которые могут влиять на то, как сервер отвечает на запрос по определенному пути. Например, YouTube использует тот же путь при поиске видео, но строка запроса содержит параметр search_query, который сообщает серверу, что вы искали, чтобы он мог ответить так, как вам нужно. Однако одного URL недостаточно, чтобы точно указать серверу, что ему нужно сделать. Он может указать серверу, какой раздел искать и как изменить этот раздел на основе параметров запроса, но этот раздел сервера разбивается еще дальше на несколько различных частей. Чтобы определить, какую часть этого раздела сервер должен выполнить, ему необходимо использовать действие, которое передается вместе с URL. Это действие может быть GET, POST, PUT или DELETE. Объединив действие и путь, сервер может найти правильную часть нужного раздела, которую ему нужно выполнить. Затем он может использовать параметры запроса для изменения ответа этой конкретной части и раздела. Обычно ответ от сервера представляет собой HTML-страницу, которая динамически генерируется на основе запроса от клиента. Именно поэтому при переходе на страницу поиска YouTube всегда отображается одна и та же страница, поскольку путь и действие остаются теми же, но видео, возвращаемые в результате поиска, различаются в зависимости от параметров запроса. Ещё один важный момент, касающийся сервера, заключается в том, что он доступен извне только через разделы, которые он определяет. Это означает, что вы можете хранить любую конфиденциальную информацию на сервере, и она будет в безопасности, пока не будет раскрыта по определённому пути. Именно поэтому безопасно размещать базу данных и веб-сайт на одном сервере, поскольку сервер выбирает, какой раздел предоставлять доступ — веб-сайту, а не базе данных. По сути, сервер выступает в качестве барьера между внешним миром и всеми частями веб-сайта. Следующее видео: https://www.youtube.com/watch?v=6sUbt-Qp6Pg Плейлист: https://www.youtube.com/playlist?list=PLZlA0Gpn_vH8jbFkBjOuFjhxANC63OmXM Twitter: https://twitter.com/DevSimplified GitHub: https://github.com/WebDevSimplified CodePen: https://codepen.io/WebDevSimplified #Backend #WebDevelopment #Programming
Название:
Как работает бэкенд
Категория:
Разное