Что означают различные состояния готовности в XMLHttpRequest и как их использовать?

XMLHttpRequestимеет 5 readyStateс, и я использую только 1 из них (последний, 4). Для чего нужны другие и в каких практических приложениях я могу их