Other contributors have said "What is a computer that respond requests from web browsers?" is the same question as "Why do web browsers make separate requests for every image on a web page?" If you believe that these are not asking the same thing and should be answered differently, click here

Why do web browsers make separate requests for every image on a web page?

Answer:
The answer has to do with the way content is interpreted by the browser.

Simple answer:
The HTML content of the page is stored as text. Images are easily stored as separate binary files. The browser is software that takes code and process it to display a more human friendly version on screen. As the browser finds a reference to an image in the HTML code it downloads it, then places it in the page per the HTML instructions.



Longer answer:
To make it easier for web programmers to design sites, the HTML code of a webpage is written in plain language, or text. To use other content on the same page, lines of code are written that reference other files. since they are text files, they must be converted to and from binary to transmit them over the internet.

Images have a level of compression or data structure applied to them, so they are more easily stored as binary files. there is no translation that occurs as they are transmitted online.

Computers run through code character by character, line by line and run functions when certain instructions are read. Once the browser sees an tag it knows the current page is referencing an image so it downloads it.

There are two reason I can that of why images are transmitted as separate requests:

  • Images can be stored on different web servers, so sending one large binary stream would require one server to assemble all of the data then transmit it to the user (quite a waste to transmit the same file data twice.)
  • Because images can be in different formats, using different compressions (jpeg, gif, png). Each image is transmitted separately so as not to cause problems.

Addendum:

HTTP/1.1 protocol allows a browser to download all items in the same connection (so long as the connection is to the same server). This means at connection level there is only one request but at protocol level there are still multiple requests being passed through the one connexion.

First answer by DuCake. Last edit by DuCake. Contributor trust: 45 [recommend contributor recommended]. Question popularity: 4 [recommend question].