Here’s the way computers talk to each other (I’m glossing over a LOT of details to make it understandable).
Computer: I’d like to open a connection
Server: Ok, the connection is open
Computer: Give me some data
Server: Here’s your data
Computer: Give me some more data
Server: Here’s your data
(repeated until you get all of the data you need from that server)
Computer: Ok, I’m done. Close the connection.
Server: Connection closed.
When you get a connection reset error, it instead went something like this:
Computer: I’d like to open a connection
Server: Ok, the connection is open
Computer: Give me some data
Server: Here’s your data
Computer: Give me some more data
Server: Resetting (closing) connection
Computer: wtf? Ok, close out the connection on my side and give the user an error
Or it could go something like this:
Computer: I’d like to open a connection
Server: Ok, the connection is open
Computer: Give me some data
Server: Here’s your data
Computer: Give me some more data
Server: Error, connection was reset, didn’t you get my reset message?
Computer: wtf? Ok, close out the connection on my side and give the user an error
While that is the mechanics of it, the underlying question is why is the server resetting and closing the connection? Sometimes the server gets overloaded, so to stop itself from crashing it just starts closing connections. It’s not a polite way of saying it’s overloaded. It’s basically (from a protocol point of view) a very rude way of saying “go away I’m not talking to you any more”.
Sometimes, though, it’s not the server’s fault. Comcast, for example, has been caught sneaking reset packets into connections, which is their sneaky underhanded way of reducing the traffic on their networks while making it look like it’s the other guy’s fault.
A connection reset occurs at the server’s operating system level or web server level. It is different from a “database error” which occurs when the message board software gets an error accessing the database that contains the straight dope messages. This can mean data corruption or it could mean that the database software is simply overloaded.