Мне нужно получить IP-адрес пользователя из браузера. Я знаю, что мы можем получить информацию об устройстве из браузера с простым JS без каких-либо запросов http (ОС и информация браузера через User-Agent), но чтобы получить IP-адрес, вам нужно сделать HTTP-запрос, так как ваш браузер присоединит IP адрес в качестве заголовка запроса, чтобы вы могли получить его на стороне сервера или в ответе на этот запрос в пользовательском интерфейсе.
Мне не хватает некоторого базового понимания, и я не могу понять, почему требуется HTTP-запрос и в какой момент IP-адрес добавляется в качестве заголовка, если браузер не знает, как присоединяется заголовок?