У меня возникли проблемы с пониманием того, кто отправляет запрос на выборку, если клиент или сервер WebApp.
Позвольте уточнить мою дилемму. У меня есть три объекта:
- Клиент (браузер) с IP-адресом
192.168.1.1
; - Сервер WebApp, который предоставляет мое приложение REACT, IP-адрес которого
192.168.1.2
; - Сервер WebAPI, который предоставляет набор API REST, IP-адрес которого
192.168.1.3
;
Теперь внутри REACT WebApp есть несколько fetch(...)
, которые опрашивают сервер WebAPI .
Я спрашиваю: когда клиент открывает WebApp по адресу 192.168.1.2
, и запросы отправляются на сервер WebAPI по адресу 192.168.1.3
.. Для сервера WebAPI, который делает этот запрос? Клиент или сервер WebApp?
Размышляя об этом, я бы сказал клиенту: когда браузер открывает WebApp, он загружает все файлы, даже те, которые fetch(...)
, так что я бы сказал это клиент, который выполняет этот код.
Но есть некоторые вещи, которые заставляют меня верить в обратное:
- На сервере WebAPI (написано в C#) я должен определите CORS Origin, иначе запросы не будут выполнены. В этом источнике я должен указать адрес WebApp
192.168.1.2
, а не клиента (и, ну ... почему, если запрос приходит от клиента?); - Если я использую Средства разработки браузера для просмотра запросов. Если посмотреть на заголовки запросов, я вижу только адрес сервера WebApp, например, в свойствах
Origin
и Referer
;
Это просто чистое любопытство: я думал, что знаю ответ, но эти две вещи заставляют меня задуматься. Боюсь, что-то теряю в основной концепции запроса / ответа, но .. я не знаю, что.