¿Qué me estoy perdiendo en XMLHttpRequest?

Soy completamente nuevo en el mundo de JavaScript y Ajax, pero estoy tratando de aprender.

En este momento estoy probando XMLHttpRequest y no puedo hacer que el trabajo sea el ejemplo más simple. Este es el código que intento ejecutar

    <script type="text/javascript">
        function test() {
            xhr = new XMLHttpRequest();

            xhr.onreadystatechange = function() {
                if (xhr.readyState == 4 && xhr.status == 200){
                    var container = document.getElementById('line');
                    container.innerHTML = xhr.responseText;
                } else {
                    alert(xhr.status);
                }
            }  

            xhr.open('GET', 'http://www.google.com', true);                  
            xhr.send(null); 
        }
    </script>

Y siempre recibo la alerta con el estado 0. He leído toneladas de webs sobre esto y no sé qué me estoy perdiendo. Agradeceré cualquier ayuda, gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta