Извините, если это действительно глупый вопрос; мои сетевые знания довольно скудны.
Итак, пользователь делает HTTP-запрос на какой-либо адрес. Этот запрос исходит от адреса в локальной подсети, но маршрутизатор знает, что нужно отправить запрос на свой шлюз по умолчанию, потому что IP-адрес назначения не соответствует ничему другому в его таблице маршрутизации. Запрос переходит через Интернет и в конечном итоге получен машиной назначения (веб-сервером). Это все имеет смысл.
Но теперь, как веб-серверу удается отправить запрос обратно на локальный компьютер? Разве запрос не пришел с IP-адреса в локальной подсети? Где он взял IP-адрес маршрутизатора локальной машины? И даже если у него есть IP-адрес этого маршрутизатора, как пакет направляется на локальный компьютер, как только он попадает на маршрутизатор?