client: Please get the file located at 'www.mydomain.org' named 'home.html'. The client establishes a socket connection to the HTTP server at 'www.mydomain.org' and writes a packet requesting the file named 'home.html'.
server: Retrieves the file named 'home.html' and writes one or more packets using that socket. When the file has been transmitted, the socket is closed.
client: Reads the file line by line and renders the information that it can understand. When it encounters the <IMG> HTML tag, it makes another request: Please get the file located at 'www.mydomain.org' named 'home.gif'. The client establishes a socket connection to the HTTP server at 'www.mydomain.org' and writes a packet requesting the file named 'home.gif'.
server: Retrieves the file named 'home.gif' and writes one or more packets using that socket. When the file has been transmitted, the socket is closed.
client: Now that it has the image, it continues processing the HTML. It encounters the next <IMG> tag and repeats the same request process as above: Please get the file located at 'www.mydomain.org' named 'spot.gif'. The client establishes a socket connection to the HTTP server at 'www.mydomain.org' and writes a packet requesting the file named 'spot.gif'.
server: Retrieves the file named 'spot.gif' and writes one or more packets using that socket. When the file has been transmitted, the socket is closed.
client: Now that it has this image, it continues processing the HTML. When the end HTML tag is encountered '</HTML>', the browser has all of the information it needs to render the screen and display it back for the user.

Although different browsers can be configured to handle the above in slightly different ways, all browsers will require three separate transactions to retrieve the information. One for the HTML text page itself, and one for each of the two images that will be displayed on the page.