
Explore HTTP, the hypertext transfer protocol that underpins web data exchange between clients and servers, with its evolution from HTTP/1.0 to HTTP/3 and broad device support.
Define what makes a web resource and compare static versus dynamic resources delivered via http or https. Identify examples like HTML pages, CSS, JavaScript, images, videos, and server-generated content.
Explore URIs, URLs, and URNs as identifiers for web resources in HTTP. Understand how URLs locate resources using scheme, host, path, query, and fragment, while URNs name resources without location.
Understand the client server model, where a client requests a service from a server, which processes the request and returns a response, with servers serving multiple clients across networks.
Explore the main proxy types in HTTP, including transparent, intercepting, explicit, reverse, and forward proxies, and how they enable monitoring, filtering, caching, and anonymity.
APIs serve as contracts that let software components interact, detailing REST, SOAP, GraphQL, gRPC, and WebSocket with JSON or XML and practical curl and Postman usage.
Understand how load balancers distribute HTTP traffic across back end servers to ensure reliability, availability, and performance, using round robin, least connections, IP hash, and weighted algorithms in a lab.
Explore how HTTP bots automate web crawling and scraping, and learn to build a BeautifulSoup scraper in a vagrant nginx lab that lists coffee products and prices.
Explore how HTTP messages drive data exchange, detailing request and response types, their start line, headers, and optional body, and how curl reveals each component with angular brackets.
Explore HTTP methods, or verbs, that specify actions on resources. Learn common methods like get, post, put, delete, head, patch, and options, plus their request semantics and safety considerations.
Explore how servers respond to requests with HTTP status codes. Learn the five categories—informational, successful, redirection, client error, and server error—and see example codes like 200, 404, and 500.
Explore how http headers convey metadata in requests and responses. See the four header categories: general, request, response, and entity, and practice with curl on httpbin, including custom headers.
Build a complete infrastructure to experiment with various aspects of the http protocol using a client, squid proxy, CloudFront distribution, and an application load balancer across four backend web servers.
Configure a squid forward proxy on Ubuntu server, setting port 3128 and allowing network access. Verify setup by checking squid logs and using ss and curl to route http requests.
Deploy the rest of the lab infrastructure on AWS with Terraform, validate and plan changes, apply configurations, and verify DNS names for the load balancer and CloudFront distribution.
Inspect the CloudFront distribution as the reverse proxy entry point, reviewing http versions, alternate domain names, security with WAF, and origin behind the application load balancer.
Inspect the deployed load balancer, its http listener on port 80, VPC and subnets, and routing to four backend servers. Review security, monitoring, and CloudFront and Web Application Firewall integrations.
Destroy AWS resources with Terraform destroy --auto-approve, verify no resources with Terraform show and Terraform state list, then disable the proxy and power off the squid proxy gracefully.
Expose that HTTP is insecure by design and transmits data in plain text, making it vulnerable to interception. Preview HTTPS as the industry solution to secure internet traffic.
Explore how HTTPS, the secure version of HTTP, uses TLS to encrypt traffic and prevent eavesdropping and tampering; decrypt with TLS keys in Wireshark to view HTTP requests and responses.
Explore how HTTPS builds on trust using digital certificates, the chain of trust from root to intermediate to end entities, and how browsers verify authenticity and encrypt communications.
Implement HTTPS on a web server by provisioning an nginx setup with a self-signed TLS certificate that binds the server IP as the common name, using Vagrant up.
Mitigate an http flood attack by deploying a web application firewall and applying rate limiting to block excessive requests and protect availability.
Learn to inspect http traffic with DevTools network tab, view requests, methods, urls, headers, and responses, preserve logs, throttle speeds, and block requests for troubleshooting.
Learn how to create a HAR file to capture browser network requests, headers, and status codes for debugging, with a BBC demo and redaction of sensitive data.
Who is this course for
This course is mainly for network engineers, network security engineers, IT technicians, system administrators, cyber security professionals, computer science students and anybody who is interested in starting a career in the IT industry.
What you will learn
How to configure a squid proxy
How to troubleshoot HTTP issues using Developer Tools
How to create a HAR file when working with 3rd-party support teams
How to deploy multiple local HTTP labs using Vagrant and VirtualBox
How to deploy an AWS-hosted HTTP infrastructure using Terraform
How to decrypt HTTPS traffic in Wireshark
How to perform HTTP queries using curl
How to query APIs using Postman
How to scrape a simple web site using crawlers built with the Beautiful Soup framework
How to mitigate HTTP flood attacks
How to simulate a HTTP flood attack
How to implement HTTPS with a self-signed certificate
Prerequisites
Basic IT skills
A willingness to learn
A computer system with ideally 16GB of RAM and 200GB of disk space
Some previous AWS experience
FAQs
Do I need any previous experience?
Any previous experience in networking, system administration and computer systems will definitely be helpful though not necessary.
Do I get any support with this course?
Yes, any question you have will be answered by email in the most timely manner.
I am an experienced network engineer with previous experience in HTTP. How do I benefit from this course?
The knowledge contained in this course will definitely enhance your existing understanding of the HTTP protocol.