TCP, HTTP and SPDY Deep Dive

The dirty networking secrets web programmers never think about when designing their applications.
4.3 (564 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
38,237 students enrolled
Start Learning Now
  • Lectures 6
  • Length 1.5 hours
  • Skill Level Intermediate Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 4/2013 English

Course Description

This course will tell you how TCP and HTTP (the transport and presentation-layer protocols used by web-based applications) impact the web application responsiveness and page load time.

We'll look at waterfall diagrams created by web browser development tools, cover the intricate details of TCP and HTTP (including slow start, congestion windows and pipelining), and try to figure out whether SPDY (the next-generation HTTP from Google) makes sense.

The course is delivered via short video lectures in which I gradually expose the problems your web browser faces when trying to fetch all components of a web site, and the solutions you could use to make the process faster.

You can take your time and go at your own pace, or rush through the course and be done in an hour or two. However, I would encourage you to proceed slowly, build your own test environment (using your mobile device or WAN emulator like WANem) and explore what's going on behind the scenes with browser development tools and Wireshark.


What are the requirements?

  • Basic familiarity with Internet technologies, including IP, TCP and DNS.

What am I going to get from this course?

  • By the end of the course, you'll be able to optimize your web server and your web application to reduce the impact of TCP and HTTP on your web application response times.

Who is the target audience?

  • Advanced web application developers looking to squeeze the last drops of performance from their application.
  • Network engineers trying to understand the impact of the network on the application workload.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Impact of TCP and HTTP on web application performance

In the ideal world, you’d get a new web page within 100 milliseconds of clicking an active web page component (link, button ...). Reality is way harsher – sometimes it takes seconds till you can enjoy a web page served from a well-behaved web server (let’s pretend there are no server performance issues).

In this lecture you'll learn how the network transport mechanisms (TCP and HTTP) impact web application performance and what you can do to improve it.


This lecture is a deep dive into actual TCP and HTTP mechanisms that increase end-to-end latency (TCP 3-way handshake, initial congestion window, request/response nature of HTTP).


The TCP and HTTP deep dive lecture triggered numerous questions during the live webinar session – it took me almost 10 minutes to answer them all.

Section 2: Improving TCP and HTTP
Web browsers use parallel TCP sessions and some servers increase initial congestion window to alleviate TCP drawbacks. These mechanisms work quite well ... but what about HTTP persistent sessions and pipelining? Do they make sense? You'll discover some interesting answers in this lecture.
SPDY is Google’s new session-layer protocol and candidate for next-generation HTTP. It's already available on popular web servers and browsers, and used by some high-volume web sites. But is it as fast as its name would indicate? This lesson will help you get fluent in SPDY.
Section 3: Conclusions
Can you do something to cope with the TCP and HTTP behavior you've discovered throughout this course? Can we test our web applications under realistic conditions? Is cache really the king? The last lecture in this course will give you the answers to these (and a few other) questions.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Ivan Pepelnjak, Internetworking veteran

Ivan Pepelnjak, CCIE#1354 Emeritus, is the chief technology advisor at NIL Data Communications. He has been designing and implementing large-scale service provider and enterprise networks as well as teaching and writing books about advanced technologies since 1990. He’s author of several Cisco Press books, prolific blogger and writer, occasional consultant, and author of a series of highly successful webinars.

Ready to start learning?
Start Learning Now