869: Server Attention Span

Explain xkcd: It's 'cause you're dumb.
Revision as of 02:51, 16 February 2013 by J-beda (Talk | contribs)

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.'

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 webservers 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, 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 do not have egos nor do they hold grudges, but for users, it can be annoying. 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 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. 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.

Transcript

[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!

Discussion

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. 108.162.246.117 19:55, 18 January 2014 (UTC)
Personal tools
Namespaces

Variants
Actions
Navigation
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 or Bitcoin?