Зачем сокату нужен «форк» при подключении к веб-серверу?

Я пытаюсь понять 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 будет довольно неработоспособным при просмотре в браузере.

Зачем нужен этот аргумент форка? Почему браузер <--> соединение с веб-сервером не работает без него?

16
задан ks1322 6 April 2016 в 09:35
поделиться