CS 100 (Learn)CS 100 (Web)Module 03


High Layers (HTTP and more)

(direct YouTube link)

NOTE: If your internet access is restricted and you do not have access to YouTube, we have provided alternate video links.

TRANSCRIPT

Note: This video transcript has been slightly modified. Significant corrections are marked with strikethrough, and alternative wording has been placed in [square brackets] to correct some of the awkward or confusing phrasing in the videos.

In this video, we are going to briefly review some of the high layer protocols that are used to communicate on the internet.

We have already discussed the [low] physical layer, the middle TCP/IP layer, and now we're going to briefly discuss the high layer protocols.

The [high layer] protocol you're most familiar with is HTTP, which you've probably seen on your web browser and on advertisements for websites. [It stands for] Hypertext Transfer Protocol (HTTP).

When you type in something like http://uwaterloo.ca/about there [are] actually three pieces to this puzzle.

The protocol is what we're actually talking about... the highest layer.

The hostname [is next, and] we now know how that [works] through the TCP/IP layer, [and] how uwaterloo.ca gets translated.

[Finally,] the destination website consumes the path. In this case: "oh, they want the 'about' page". That is how [the other computer] determines what webpage to give you.

HTTP is is really a protocol for requesting and sending information.

When you send a request like this through your web browser (you type in http://uwaterloo.ca/about), what you actually send the web server at Waterloo is a bunch of information using [the HTTP] protocol. [If you recall, a protocol is like a handshake, and in this example it is [helpful] to think about [the protocol] like a form.

Imagine that [you have walked] into [a] government office and you are requesting a web page through [the] government office: they give you a form:

[Similarly,] you give this information to [every] website, and you give more information than you might think. You give it:

It is important to remember that when you do [an] HTTP request, there are some "cookies" that can be transmitted. That sounds delicious, but when you learn about them later you might change your mind.

As an exercise, there are lots of pages on the internet that [can show you the information you are providing]. This is just one example [that] shows all the information that the destination web server can determine about you.

For example, this [website] knows I am in my office at the University of Waterloo, and it knows that I'm using Windows 10 and I'm using the Chrome browser [with some] plug-ins. It knows what kind of computer I have it, and it knows that my battery is completely charged. It knows my IP address, it knows that [my] IP address is from the University of Waterloo and [it] knows how fast that connection is.

This particular account [is not on] social media or [connected to any social media accounts], but if you try this yourself, it might know some of your social media accounts.

It doesn't know my physical location because I'm not connecting through a phone but if you were connecting through a phone it may for example know which way your phone is [orientated]... like if you're pointing north or south or east or west.

All this information [happens during] the HTTP request. If you [visit] Google right now and search for "IP address", it will show you what it thinks your IP address is.

That's basically all you have to know about HTTP... it is a protocol for requesting web pages or other files. Technically the [files are] just referred to as "documents". Most of the documents you use are HTML, which we will discuss later, but you can request other types of documents and files and stuff.

There [are] a few other protocols you should be aware of.

HTTPS is basically the same thing as HTTP, but it's encrypted. More and more websites are going to this because people are concerned about their privacy, and if you're connecting to a bank website you should absolutely be using HTTPS. When you see the S at the end of a protocol, then [it usually] means that a special encryption is being used.

We have already discussed two other [high layer] protocols that live above the TCP/IP layer and [they are] DHCP and DNS.

An important protocol that you should be aware of (and you will use later on in this course) is FTP, or more likely SFTP. The "s" is the same as the "s" and HTTPS [and] means that it is encrypted. [FTP and STFP are] used to transfer files between computers outside of a web browser so you might use another piece of software to transfer a file from one computer to another computer.

Finally, there are three protocols out there that are quite popular for email: POP, SMTP and IMAP.. you can read more about those if you're curious, but these protocols [are] for sending email messages between different computers.

That is a summary of how all communication works on the internet. Every piece of communication that goes on the internet is connected via some physical layer... whether that's an actual Ethernet cable or a WiFi connection that's transmitted over electromagnetic radiation. Then, the TCP/IP layer handles communication across IP addresses and breaks things down into packets. [Finally,] the higher layer protocols like HTTP actually get the files and display [them] in your web browser