Создание серверной части веб-приложения для просмотра фотографий

Черанева Ольга Андреевна

Аннотация


Разработка серверной части необходима для веб-приложений, чтобы принимать и обрабатывать запросы от клиентской части.
Безопасность является основной причиной, по которой нам часть функционала приложения должна быть вынесена на сервер. Браузерам не должен иметь прямой доступ к вашей базе данных. Вы не знаете, кто использует браузер. Вы не знаете, какие расширения они используют, которые могут изменять ваш код. Однако, если эта логика хранится в клиентской части, пользователи будут знать строки подключения, используемые для доступа к базе данных, как хранятся ваши данные, и могут выполнять произвольные запросы с некоторой технической подготовкой. Это неприемлемо, потому что содержимое базы данных должно оставаться конфиденциальным, а доступ к нему должен быть ограничен.
Внутренний сервер скрывает множество деталей для подключения напрямую к базе данных из браузера и, в качестве посредника, может легко дезинфицировать множество пользовательских входных данных для предотвращения злонамеренных запросов.
Браузеры написаны чтобы общаться с веб-серверами, используя ограниченный набор протоколов. Базы данных ожидают, что их клиенты также будут использовать определенные протоколы.
Еще одна причина – производительность. В зависимости от объема и сложности данных, с которыми вы работаете, база данных будет замедляться. Обычные запросы на получение информации займут больше времени и будут медленно ухудшать ваш пользовательский опыт. Прямое подключение к базе данных не решает эту проблему.
Серверная часть содержит логику для управления базой данных и обработки запросов.
Вычислительная мощность сервера обычно выше клиентской, и запросы выполняются быстрее.
Внутренние серверы часто имеют различные стратегии для минимизации ненужного доступа к базе данных, от кэширования до схем аутентификации. Они могут быть написаны для получения совокупного снимка того, что часто ищут пользователи, и могут быть уверены, что данные «горячие» и готовы к немедленному ответу, а доступ к базе данных только для менее распространенных «холодных» данных.
Express - самый популярный веб-фреймворк для Node. Он является базовой библиотекой для ряда других популярных веб-фреймворков Node. Он предоставляет следующие механизмы. Именно его я использовала в своей дипломной работе для написания серверной части веб-приложения для просмотра фотографий.
Серверный код включает обработчики для запросов с различными HTTP-методами в разных URL-адресах (маршрутах), соответствующих разным ресурсам приложения (ресурс photo для действий с фотографиями и ресурс auth для авторизации пользователей в приложении).
В то время как сам express довольно минималистичный, разработчики создали совместимые пакеты промежуточного программного обеспечения для решения практически любой проблемы с веб-разработкой