The Read Timeout makes a SocketTimeoutException be thrown if the timeout expires before data is available for reading from the connection's returned InputStream. This should help the client switch to a new mirror when the current mirror is too slow or overloaded.