As web developers and "back-end" coders, we tend to focus on improving the performance of our web applications by optimizing our Ruby code, SQL queries, minimizing Javascript and CSS, and optimizing images. Perhaps we'll even implement memcached and background job queuing. These areas are important, but ignore the bits in the middle between web browser and web server.
This talk will take you through everything that happens from the moment a user types a url into a their web browser, or clicks on a link, to the receipt of the HTTP request at your web server. We'll look in depth at DNS lookups, Internet routing, TCP sockets, SSL, HTTP Keep-Alive and Pipelining, and IPv4 versus IPv6. We'll go beyond ping
and traceroute
with command-line tools such as dig
, host
, mtr
, nmap
, and nc
. Each step in the process will be discussed with an eye towards reducing latency, and speeding up the user experience of your web applications.
Rajiv has been developing with Ruby since the 1.0 days of Rails in 2006, and has been building web applications since 1995 in C, Java, and PHP. He teaches classes at MIT IAP on topics such as Ruby on Rails, RubyMotion, and Gentoo Linux. This talk has not been presented at any conference or venue. Rajiv is available only on Sunday during the conference.