 It's very likely you've heard about the web and not understood what people mean. Often in the last 15 years the term web has been used interchangeably with the internet itself, but they're really not the same thing. What we call the web is not synonymous with the internet. It's just one part of the internet. It's one thing we can do on the internet. And it's a system involving basically two parts. There are programs called web servers and client programs called web browsers. As a user of the web, you use a web browser, which is a program which displays web pages. These web pages are documents in a format called HTML, which stands for Hypertext Markup Language. And your web browser retrieves these documents from web servers using a protocol called HTTP, which stands for Hypertext Transfer Protocol. That's why a URL for a web page begins with the schema HTTP. Now be clear that HTTP does not supplant IP, the internet protocol. Everything on the internet uses IP, it's just in this case, we're packaging another protocol within our packets of IP data. So think of it like an IP packet is an envelope stuffed with another envelope inside an HTTP envelope. In any case, a web page, an HTML document, is a document that can include first formatted text, meaning text that has different fonts and has different sizes, different colors, italicized, bold, and so forth. And also the documents can contain images, so they're not strictly textual. And then very importantly, an HTML document can also include links. The idea of a link is that you can have a piece of text or an image which is clickable, and when you click that link, it takes you to another web page. So for example, here's a very simple web page with some text, a link, and an image. The link here is the text which is highlighted in blue and underlined that says, do you like ducks? And the idea is that in the document, that text is associated with a URL, a URL pointing to some other document out there on the web. And so when the user clicks on this link, their web browser then retrieves the web page at that URL and then displays it. So it's called hypertext and the web because within a document, you have things you can click which can take you to other documents. Aside from text, images, and links, you can have a few other things on web pages what we usually call form widgets. Widgets recall is the programmer jargon term for various things you commonly see in programs like pull down menus and text boxes where you can type. So you'll see a few of those things inside web pages. And the idea is that the user can type something and say these text boxes here, then click the button, and that makes a request to a web server in which that information in the text box is also sent. And this is actually one way in which web pages can be more interactive than just being a bunch of static documents. This is actually very important to understand. In the very early days of the web, back in the mid 90s, almost all web pages were just totally static. Someone would author the page and then when anyone visited the page, they would get back exactly what was authored. Very quickly however, people hit upon the idea of dynamically generated pages, meaning a page which is of course designed, but then programmatically every time a request for that page is made, the server fills in certain details. In effect, the web server ends up generating the page every time someone visits it. And this opens up possibilities for much more interesting websites, things like say a web store would not be possible without dynamically generated pages. Here for example, is Amazon's website. And when I visited this website, I logged in with my user name and password. And so you can see up in the top left of the page, it says, hello Brian Will. It has my name. Obviously, no one hard coded my name into the web page. It was dynamically inserted into the page by the web server. Because once I logged into the website, the web server knows that this request for the page was coming from me. And so it can customize the page for me. For example, down here at the bottom where it shows five albums, those five albums were put in the page here because statistically Amazon has determined they're the sort of thing that I might like based upon my previous purchase history. So it's good to have some mental model of what might be happening when you visit a website. For a lot of websites these days, you have to provide your username and password. And then any subsequent page you request from that server, the server knows who you are. They've kept track of you. They probably have some information about what you've done in the past, like say on Amazon they have information about what I ordered in the past. And so when they serve you web pages, it can be customized based upon that information.