Was bedeuten die verschiedenen Readystates in XMLHttpRequest und wie kann ich sie verwenden?

XMLHttpRequesthat 5 readyStates und ich benutze nur 1 von ihnen (die letzte 4). Wofür sind die anderen und in welchen praktischen Anwendungen kann ich sie