869: Server Attention Span

Explain xkcd: It's 'cause you're dumb.
Revision as of 11:35, 18 November 2012 by Bpothier (talk | contribs) (added Category:Comics with color using HotCat)
Jump to: navigation, search
Server Attention Span
They have to keep the adjacent rack units empty. Otherwise, half the entries in their /var/log/syslog are just 'SERVER BELOW TRYING TO START CONVERSATION *AGAIN*.' and 'WISH THEY'D STOP GIVING HIM SO MUCH COFFEE IT SPLATTERS EVERYWHERE.'
Title text: They have to keep the adjacent rack units empty. Otherwise, half the entries in their /var/log/syslog are just 'SERVER BELOW TRYING TO START CONVERSATION *AGAIN*.' and 'WISH THEY'D STOP GIVING HIM SO MUCH COFFEE IT SPLATTERS EVERYWHERE.'


The comic shows - in human language - part of the conversations that a browser and web server do in order to get the right page. The protocol they use is called HTTP.

This comic makes fun of the issue that many webservers who see a mobile browser will automatically suggest to load the mobile version of the website, but then serve the front page of the mobile site, not the page the user had requested. In quite a few sites, there is no 1-to-1 correspondence of pages between the regular and the mobile site, yet this habit is annoying.

A second issue with the HTTP protocol is identified in the last pane. The HTTP protocol is stateless. After serving the web page, the connection is severed. Any new request for a page will have to start afresh - which is where the server starts with again: "Hi! I'm a server!". Of course, browsers don't have egos nor do they hold grudges, so in reality, this is not a problem. For users, it can be annoying, though. It also slows down the browsing experience.

The title text is a joke that all the other servers in the rack think the web server is being childish. /var/log/syslog is where Linux and other posix systems store their system log messages. The 'trying to start conversation' comment is probably a joke on ARP discovery packets that are sent out to the network to see who is who. All servers send out ARP packets to see what other machines are on the network, but some machines send them out every 5 minutes, which can be extremely annoying for someone monitoring network traffic logs.

The coffee comment is another jab at web servers. Some websites use java, or other jvm based languages (Grails, Scala, and others) as the back end of the website, as opposed to using PHP or ASP. The value that Grails, and other web frameworks give you, is that the programmers do not have to re-invent the wheel. They can start with a framework of model-view-controller, and build a REST-ful website from that. Of course, java is another word for coffee, so a web server running on coffee is likely to be well-caffeinated, and well-caffeinated people tend to bounce off the walls with enthusiasm.


[single blade in a server rack]
Server: Hi! I'm a server! Who are you?

[mobile device with a web browser]
Browser: I'm a browser. I'd like to see this article.

Server: Oh boy! I can help! Let me get it for- ..whoa! You're a smartphone browser?

Browser: Yeah.
Server: Cooool! Hey, I've got this new mobile version of my site! Check it out! Isn't it pretty?

Browser: Sure, but this is just your mobile site's main page. Where's the article I wanted?

Server: What article?
Browser: The one I-
Server: Who are you?
Browser: I-
Server: Hi! I'm a server!

comment.png add a comment! ⋅ comment.png add a topic (use sparingly)! ⋅ Icons-mini-action refresh blue.gif refresh comments!


Note that REAL HTTP/1.0 conversation is started by browser: First browser say everything, then server responds and close the connection. HTTP/1.1 conversation allows the browser to make another query in the same connection, but that's only to avoid the work on reopening connection, server is supposed to interpret this new query in same way as if it would be new connection. -- Hkmaly (talk) 09:15, 15 February 2013 (UTC)

Yes, proper HTTP implementations are stateless. 19:55, 18 January 2014 (UTC)

It seems that the server is vertical at the start, but horizontal in the following panels. 22:28, 25 February 2015 (UTC)

No, the server is horizontal, in the middle of a vertical rack. 19:00, 1 April 2015 (UTC)