500 is a HTTP status code indicating that some “oops” – generally a fatal error of some non-descript kind – occurred on the server side of an HTTP transaction. Today I encountered an interesting variant: The bit in the middle contains a Base 64-encoded representation of the Gzip‘ed state on the server (I unravelled that to find out). In this particular case, it is Java serialization data. Instead of simply reporting that “an error occurred” (best case with date/time when it happened), a user can easily copy/paste the ASCII text into an e-mail she sends to the site’s Web mistress. She can then, in turn, pass that on to whomever is concerned, who can then hopefully determine exactly what happened. Simple and effective.