@Q10

Обьсяните пожайлуста разницу между REST API и SQL-запросами?

Может глупый вопрос, я понимаю что есть что и какие методы используются...но.... Объясните пожалуйста - у нас есть REST API - с помощью которого мы посылаем запрос к базе данных на сервере и получаем ответ в зависимости от метода, и есть SQL-запросы - также для работы с данными с различными методами. Оба работают с данными на сервере,оба в зависимости от метода могут делать с этими данными разные вещи, в чем разница и в чем преимущество того или иного варианта, почему sql-запросы практически не используются в js ( и вообще возможно ли сделать sql-запрос в js?), почему мы не можем использовать всегда REST API через js для работы с базой данных - мы ведь также работаем с базой данных на сервере. Или дело просто в безопасности и масштабности проекта?
  • Вопрос задан
  • 1053 просмотра
Решения вопроса 2
@oleg_ods
Если совсем просто.

SQL - язык запросов. Можно отправить любой запрос. Включая DROP, CREATE, ALTER и прочую мерзость(неприятно когда структуру базы меняют без Вашего ведома).

REST API - можно сделать обертку только(!) над нужными SQL-запросами и дать к ним доступ с помощью HTTP эндпоинтов.
Ответ написан
Viji
@Viji
DevOps Engineer
фронтэнд --> REST API запрос к ---> backend приложение ----> SQL запрос (query) к ----> Базе данных

напрямую нельзя так
фронтэнд --> запрос к ----> Базе данных


REST API - протокол http
SQL запрос (query) - протокол tcp (как правило)

Бакэенд нужен для security и кроме того твой браузер не умеет делать запросы к базе напрямую
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
SQL - это язык запросов. Не протокол.
Rest - это подход к дизайну программного интерфейса, а не протокол.

=> Первая половина вопроса просто не имеет смысла.

sql-запросы практически не используются в js ( и вообще возможно ли сделать sql-запрос в js?)

Из браузера не получится, тк почти все СУБД предлагают свой протокол на основе TCP. А из браузера нельзя работать напрямую с TCP.

почему мы не можем использовать всегда REST API через js для работы с базой данных - мы ведь также работаем с базой данных на сервере

Не понял вопрос.

Или дело просто в безопасности?

Не понял вопрос.
Ответ написан
Комментировать
RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону
фронт: эй, бекенд! Дай мне Х! (Rest)
бекенд: хей, База Данных, дай мне Х (sql)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы