If you're building your server to meet the standard, then you've got a lot of information to guide you here already.
Simple spoken, it should be based on a time since a connection was used, and not so much at the level of request data.
In a longer-winded way, the practical considerations section of the HTTP/1.1 document has some guidance for you:
"Servers will usually have some
time-out value beyond which they will
no longer maintain an inactive
connection. Proxy servers might make
this a higher value since it is likely
that the client will be making more
connections through the same server.
The use of persistent connections
places no requirements on the length
(or existence) of this time-out for
either the client or the server."
or
"When a client or server wishes to
time-out it SHOULD issue a graceful
close on the transport connection.
Clients and servers SHOULD both
constantly watch for the other side of
the transport close, and respond to it
as appropriate. If a client or server
does not detect the other side's close
promptly it could cause unnecessary
resource drain on the network."