I don't know much about how TCP/IP works, so please bear with me here.
I was wondering how, when your computer makes an HTTP request from a random port(on that device) to port 80 on a server, it gets the response from that HTTP request, that is, how the server sends the requested data back to the requesting device without an open port on the router?
As far as I know, for any external device(outside the LAN) to communicate with a device inside a LAN, there must be an open port on the router directing the public IP of the router to a certain port on a LAN device, so how would a webserver return requested data do a LAN device?
I think it has something to do with how TCP sockets, but I don't really understand how they work.
Also, I am sorry if this is a duplicate, I was not able to find any answer to my question on Google(that might just have been because of how I worded my question).