
This is because there is an existing socket that can be, and is used. There is no need for a second outbound rule to allow the web server to talk back to the client.

This would allow the client to initiate the conversation and receive the data back. To use a very simple example, let's look at the firewall rule required to allow a Source or Client machine to request a website from a web-server or destination: This socket is now a two way pathway or channel through which traffic moves between client and server.

During the lifespan of the socket, the port number on the source and destination will not change. At this point you have a TCP socket or conversation pair.

The thinking being that the client needs a way to connect to the web server and that the web server needs a way to connect back to the client. The result is a rule that looks like this.

They way traffic is evaluated and processed by a firewall is not always understood correctly. I can speculate on a number of reasons how these rules actually get defined and implemented, but it all comes down to the same thing. The one I see most often is potentially the worst. When I look at firewalls rule sets maintained by other companies, I often notice the same common mistakes.
