Confuso sobre como funciona uma solicitação JSONP

Estou tendo problemas para entender os detalhes de como uma solicitação jsonp funciona. Eu li várias fontes incluindo o wiki no jsonp e ainda estou muito confuso sobre como o retorno de chamada realmente obtém a função retornada do servidor quando uma chamada jsonp é feita. Por exemplo, no wiki, a origem da solicitação é configurada como:

<code>src="http://server2.example.com/RetrieveUser?UserId=1234&jsonp=parseResponse"
</code>

O que exatamente o jsonp = parseResponse realmente faz / significa ?? Então eles dizem que a carga é:

<code>parseResponse({"Name": "Foo", "Id" : 1234, "Rank": 7});
</code>

Como é que isso funciona? Estou confuso em toda a funcionalidade de retorno de chamada. O nome da função parseResponse é passado para o servidor e, de alguma forma, os dados retornados se tornam parâmetros para essa função? Alguém pode explicar claramente exatamente como os dados são recuperados / usados ​​de uma solicitação jsonp?

questionAnswers(3)

yourAnswerToTheQuestion