I understand you're from Sweden, so I'll try to explain this simply.
The software you use to view a webpage (Internet Explorer, Opera, Firefox, Netscape, etc.) can help you save time by caching, or downloading and saving, a certain web page. For people on slow modems, this can help since they don't have to download the webpage every time they visit it. Instead, their browser loads the saved, or 'cached', version of the page.
If you make changes to your page a lot, or if your page is dynamically created (i.e. made from changing data taken from a database, other source, etc.), this can be bad. Your viewers might be viewing an old cached (or saved) version of the page, and not see the new content!
HTTP headers are sort of like instructions to your browser - they tell your browser what to do. Think of it like this: if your boss at work tells you to make a graph of certain data, and gives you a list of instructions, you wouldn't type out those instructions onto the graph, would you? No, you would simply follow them and make the graph like the instructions say. HTTP headers do the same thing. Your browser doesn't print them on the page, it simply follows the instructions.
All of the headers you have in your code are aimed at preventing the caching (or 'saving') of your web page, so that it must be downloaded every time a person visits it.