How Websites Work
This section explores the big-picture of how websites and web services work together to bring you all the different things you love online. Very few websites or web applications are built with no dependency on an outside library or service. And the ability to architect websites in many different ways is part of what has led to the huge boom in web development.
Web technology is inherently open: The HTML, CSS and Javascript your browser receives is always readable and we can learn from seeing how others have solved problems in those technologies. Likewise, backend technologies have tended towards openness. All of this has created a great body of work on top of which we can build more and more complex sites and tools.
New services have also come up that help sites fill specific needs. Web services such as Content Delivery Networks (CDNs) and cross-network messaging services have brought us all new online experiences that fit more naturally into our technology and media environment. These third-party dependencies are potential game-changers when it comes to making entire categories of technology available to web developers.
All of this combines to make web development one of the most exciting and dynamic environments to be working in. Technology is changing all the time, so it's more about finding a pattern that allows you to execute and move forward with a current of development rather than finding the ultimate "best" solution. Throughout this section we will consider all the different factors that play a role in architecting a website.