At the moment, current MFP implementation does not support retrying based on HTTP status codes. It only supports retrying for transport level failures but not for application level failures. As you know, in HTTP protocol, application level failures are distinguished using different status codes. In the case of MFP, it is important to be able to retry for 5xx server errors. But there also could be rare occasions in which retrying for 4xx and 3xx are useful. Especially when dealing with servers that do not follow HTTP protocol exactly as it is.
Therefore, it would be great to improve MFP implementation to support retrying based on the returned HTTP status code as well.