In a multiplayer game, is the data-flow between the client & sever just events? Or, are they assets?

I am trying to understand the data flow between the client and server in a multiplayer networked game.

When a game is packaged for multiplayer mode, are both “Server.exe” and “Client.exe” essentially the same (size)? i.e. both contain all the game assets (meshes, textures etc.) in their package ? And, that during gameplay, only events flow between the client and servers? i.e. say, the server sends the location of a user to the client as an event, and the client in-turn updates it.

Or, is it that the sever streams the assets (meshes & textures) to the client on a need-basis? e.g. say, in a client, when a user moves to specific area in the map, the client sends that info to the server as an event and the server THEN streams the corresponding assets for that location to the client?

Essentially - is the data-flow between the client & sever just events? Or, does the server stream assets to client?

The reason for asking - in scenarios where clients are running on mobile phones/tablets, client size could be an important consideration. For larger games (few GB in size) this could be an issue.

Any references/pointers would help.