Client-Server Communication

About This Course

We use websites all the time - but how does clicking a link in your browser or typing in a URL in the address bar get you to a website? How does the server know what information you're looking for or how to send you that information once it's figured that out? Dig into this course and you'll be able to answer these questions! This course will guide you through how a client communicates with a server. You'll learn about HTTP's request and response cycle, dig into HTTP headers and verbs, distinguish HTTP/1 from HTTP/2 capabilities, all while experiencing the importance and need for security. We'll provide you with handcrafted servers where you'll diagnose problematic server setups, issues with SSL certificates, and even have a chance to hack an example bank website to transfer funds.

Why Take This?

Typically, web developers do not work directly with underlying platform of HTTP. But knowing how information is transferred across the wire is vital to creating efficient and professional apps.

Prerequisites and Requirements

We expect that you are comfortable reading and writing HTML, CSS and JavaScript. Knowledge of JavaScript's Fetch API is not required but will be beneficial. Check out our [JavaScript Promises course](https://www.udacity.com/course/javascript-promises--ud898) to learn about Fetch. Other Requirements: * comfort with command line tools See the [technology requirements](https://www.udacity.com/tech-requirements) for using Udacity.
Learn how a client communicates with a server, Including HTTP's request and response cycle, HTTP/2 and HTTPs.