Skip to content

Networking for Web Developers

Free Course

TCP, IP, What's Underneath HTTP?

Related Nanodegree Program

Introduction to Programming

About this course

How does the Web work? Under the hood of HTTP there's a whole stack of networking protocols.

Explore the underpinnings of the net with tools like traceroute, tcpdump, and nc.

What you will learn

  1. From Ping to HTTP
    • Begin using command-line tools to explore the network.
    • Ping to check hosts, and nc (netcat) for webservers.
    • Learn about port numbers and the layering of HTTP on top of TCP.
  2. Names and Addresses
    • Learn about the Domain Name System (DNS).
    • Register your own domain name for your web server.
    • Learn more about the binary representation of IP addresses.
  3. Addressing and Networks
    • Network blocks and interfaces.
    • Network address translation (NAT).
    • IPv6.
  4. Protocol Layers
    • Use tcpdump to examine the packets that make up the requests and responses.
    • Explore three protocols: ping, DNS, and HTTP.
    • Learn more about how TCP sessions work.
  5. Big Networks
    • Learn more about bandwidth, latency, filtering, and other key properties.

Prerequisites and requirements

You have written code that makes use of HTTP. As a beginning backend developer, you may have written code that accepts or performs HTTP requests. But you'd like to know more about what's going on "under the hood" when you use HTTP.

You can use the Linux command line. To follow the material in this course, you'll need to enter commands into the shell and make sense of their output. You'll use command-line programs like ping and tcpdump to gather information about computers on the network.

You have used the Internet. If you're looking at this page, you pass this requirement! This course does not assume that you are configuring routers or building firewalls in your spare time. It is really intended as an introduction.

You have access to a Linux system to run commands. If you're taking this course as part of a Udacity Nanodegree program, you can use the Linux-based development environment that we have set up for you. Find out how to access it here. Many of the practical exercises in this course can be done using another Unix-like shell environment, but you may get different results for some exercises.

See the Technology Requirements for using Udacity.

Why take this course?

As a web developer, it's handy to know a bit about the TCP/IP stack, IP addressing, DNS, and other protocols that underlie the Web technologies you use.

Learn with the best.

  • Karl Krueger
    Karl Krueger