Pourquoi "fork" est-il nécessaire à socat lors de la connexion à un serveur web?

Je suis en train d'essayer de comprendre les connexions tcp entre un navigateur et un serveur web. J'ai un serveur web qui tourne sur ma machine locale, et peuvent parcourir de très bien, comme prévu, à l'aide de localhost:3000 ou 127.0.0.1:3000. (Je suis en cours d'exécution "rails s"et WEBrick.)

Je voulais mettre un logiciel intermédiaire entre le navigateur et le serveur web, et ainsi a commencé à expérimenter avec socat. Le suivant fonctionne très bien:

socat TCP-LISTEN:8080,fork TCP:localhost:3000

Je peux parcourir à localhost:8080 et les choses fonctionnent comme prévu. Cependant, si j'ai omis le ",de la fourche" argument comme ça,

socat TCP-LISTEN:8080 TCP:localhost:3000

le local rails de site web est tout à fait rompu à la recherche dans le navigateur.

Pourquoi est-ce que la fourche argument nécessaire? Pourquoi ne serait-il pas un navigateur <--> connexion du serveur web de travail sans elle?

source d'informationauteur user691307