How the Client-Server Architecture Powers the Web