869: Server Attention Span

Explain xkcd: It's 'cause you're dumb.
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.'

[edit] Explanation

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 web-servers that 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, so this problem is difficult to solve and very annoying.

A second issue with HTTP is identified in the last panel. HTTP is a stateless protocol. 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 do not have egos nor do they hold grudges but it can be annoying for users. This design issue can also slow 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 (used by the vast majority of servers) 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, etc.) as the back end of the website, as opposed to using PHP or ASP. 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.

[edit] Transcript

[Single server 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)
Personal tools


It seems you are using noscript, which is stopping our project wonderful ads from working. Explain xkcd uses ads to pay for bandwidth, and we manually approve all our advertisers, and our ads are restricted to unobtrusive images and slow animated GIFs. If you found this site helpful, please consider whitelisting us.

Want to advertise with us, or donate to us with Paypal?