A web browser is required to show a large volume of different resources for a page such as logos, images, HTML code etc. What caching does is allows a browser to remember elements previously loaded, such as the logo or headers.
What causes the issue?
There has been no caching mechanism set up on the backend.
How do you fix it?
There is an opportunity to specify to a browser the length of time that it should ‘remember’ the previous elements loaded.
You could additionally hold static resources within a content delivery network (CDN), which is a network of servers located globally. These can cache the static version of your site’s content on its servers and load the content onto your user’s page from the source closest to them. In many cases, unless your site design changes frequently, a year is a reasonable period.
Google has more information about leveraging caching here.