HTTP and its Interactions
HTTP and its Interactions

To really understand how HTML5 works, you need to have some idea of how the internet works. In this first module, web fundamentals, we’ll take a deep dive into the world of http/s, URLs, clients and servers, and security. This first module is mostly theoretical, and there are no practical activities involved with it.  


The client server model may be at the heart of how users interact with the internet, but hypertext transfer protocol or HTTP is at the heart of the client server model. So what is it and how does it work? HTTP is a lightweight application level protocol which builds hypermedia or web systems. It's been used since 1990, and is currently on version 1.1. If you're interested in learning more about it, check out this site. HTTP is based on Transmission Control Protocol, or TCP, which is the connection base part of the TCP IP stack. This might sound a little like jargon right now. But all you really need to know is that it's great for HTTP because it means that like TCP, HTTP can handle large amounts of data reliably. 

Another unique feature of HTTP is that it's stateless. This means that each HTTP request stands alone, and no information is retained about the request in the browser, or on the server. While this is fine for simple document requests, does create problems for applications which need to track a user's identity. When you're trying to access a website, you enter the URL into your browser and hit Enter. And within a few moments, the website loads and it's as easy as that. But what actually happens between your clients and the server during this process? The client connects to the server and sends a request with a method, a Uniform Resource Identifier or URI and the HTTP protocol version. This might look something like this. 

The client will also send a mind type header and a message. The server will respond to your client with a status line, including the protocol version and an internet standard error code. Last up, the server sends a mime like message with the requested resource in it. This might look something like this. And that's it for this video. HTTP is incredibly flexible and powerful, and it facilitates the communication between all of our clients and servers.


About the Author
Learning Paths

Ed is an Outstanding Trainer in Software Development, with a passion for technology and its uses and holding more than 10 years’ experience.

Previous roles have included being a Delivery Manager, Trainer, ICT teacher, and Head of Department. Ed continues to develop existing and new courses, primarily in web design using: PHP, JavaScript, HTML, CSS, SQL, and OOP (Java), Programming Foundations (Python), and DevOps (Git, CI/CD, etc). Ed describes himself as practically minded, a quick learner, and a problem solver who pays great attention to detail. 

Ed’s specialist area is training in Emerging Technologies, within Web Development. Ed mainly delivers courses in JavaScript covering vanilla JS, ES2015+, TypeScript, Angular, and React (the latter is authored by Ed) and has delivered on behalf of Google for PWAs. Ed has also developed a new suite of PHP courses and has extensive experience with HTML/CSS and MySQL. 

Ed is responsible for delivering QA’s Programming Foundations course using the Eclipse IDE. His skillset extends into the DevOps sphere, where he is able to deliver courses based around Agile/Scrum practices, version control, and CI/CD.

Covered Topics