Я пытаюсь понять tcp-соединения между браузером и веб-сервером. У меня есть веб-сервер, работающий на моей локальной машине, и я могу нормально просматривать его, как и ожидалось, используя localhost:3000 или 127.0.0.1:3000. (Я использую «rails s» и WEBrick.)
Я хотел поставить программного посредника между браузером и веб-сервером, поэтому начал экспериментировать с socat. Следующее работает отлично:
socat TCP-LISTEN:8080,fork TCP:localhost:3000
Я могу перейти на localhost:8080, и все работает как положено. Однако, если я пропущу аргумент ",fork" таким образом,
socat TCP-LISTEN:8080 TCP:localhost:3000
локальный веб-сайт rails будет довольно неработоспособным при просмотре в браузере.
Зачем нужен этот аргумент форка? Почему браузер <--> соединение с веб-сервером не работает без него?