Понимание серверной части

Я понимаю, что веб-сайт может иметь внешний интерфейс (клиент) и серверную часть (сервер), и что сервер выполняет вызовы «внешних» REST API, таких как woocommerce и т. д.

Почему нужно создавать целую структуру, называемую бэкэндом, чтобы выполнять вызовы REST API с использованием таких языков, как Node (Express)? Почему нельзя просто звонить во внешний интерфейс с помощью fetch('https://woocommerce/products')?

Обновлено: Спасибо всем за отправку ваших ответов, это очень помогло мне понять! Пожалуйста, не стесняйтесь продолжать и предоставлять любые другие идеи и особенно примеры того, почему ваш ответ как таковой поможет мне и другим будущим новичкам, которые могут столкнуться с этим вопросом.

Основные меры веб-безопасности предотвращают то, о чем вы спрашиваете.

Pointy 04.01.2019 18:24

В некоторых случаях вы обойдетесь с может без написания какого-либо бэкэнд-кода, но в целом ваш бэкэнд выполняет такие вещи, как: сохранение данных, которые не, в некотором внешнем API; используя учетные данные, к которым не хочет, чтобы произвольный клиент имел доступ; или предоставление дополнительной бизнес-логики для упрощения клиентского кода.

jonrsharpe 04.01.2019 18:26
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
58
2

Ответы 2

Итак, по идее, в новых браузерах они могут делать это с клиента, если на сервере установлен совместное использование ресурсов из разных источников. В отсутствие этого и в старых браузерах запросы к третьим сторонам будут заблокированы из-за политика одного происхождения.

Более того, во многих случаях вы не хотеть клиента для выполнения запросов напрямую, потому что тогда вам придется предоставить свои ключи API всем, у кого есть доступ к клиентскому коду. У некоторых сервисов есть способы обойти это (например, Firebase), но у большинства их нет.

На самом деле не требуется настраивать серверную часть. Есть много способов запустить сайт без настройки серверной части. Вы можете использовать сервисы BAAS, такие как Firebase

Но проблема с использованием только клиента заключается в том, что пользователь может видеть каждый запрос, сделанный клиентом. И получить доступ к отправленным данным или секретным ключам API, отправленным в запросе - это действительно плохо для безопасности и может привести к неправильному использованию.

Другие вопросы по теме