I was thinking today about how complicated a web browser must be. Not only that, but it seems that everybody always expects their browser (be it IE, Chrome, Firefox...) to be perfect, load pages super fast, and be easy to use. So, when you go to a website, let's say codeproject.com, your browser first has to resolve the domain to an IP address by asking a DNS server. Then, it has to communicate using the HTTP(s) protocol to that server and ask for the correct page. Then, after receiving the HTML code back for that page, it has to load more images/scripts/css pages, and render it. Of course, let's not forget that almost every webpage contains invalid html (using w3c validator on codeproject reveals 170 errors and 112 warnings (see for yourself). Not to mention it has to execute javascript that might be present and apply css rules. And, to top it all off, the browser has to remain responsive if the user clicks on menu items or opens a new tab, and goes to ANOTHER website! Don't even get me started on what they do for security... It seems that web browsers must be pretty complicated. And of course nobody in the world would even think about paying for their browser. It must take a large team of programmers to actually produce a modern web browser. I was just wondering what your thoughts on this were. Do we take them for granted? Do web pages need to be held to higher standards when it comes to valid markup?