To discover the difference we will have to look at this issue from two standpoints, server-side and client-side:
Server-side
For the server there is no difference, it will simply be another HTTP response with status 302 which in the specification is redirection status. "How come it makes no difference?" That's right for the server that imports the request is the response is of interest to the client (disregarding http gateways) so here we realize that we will have to analyze this problem on the client side!
Client-side
Now that we know the problem is here we have to understand something about the HTTP client: For the HTTP client no matter what status and header the server sends, the response will always be downloaded to the client, the responsibility of sending a body or is not on the server, however much the response is in the client's interest, he can not do that. Knowing this we realize that the difference is not in downloading or not the content of the answer!
For those hours you'll ask, "Okay, so what's the difference?" And I would have to respond: "What is your HTTP client? A browser? A JavaScript client? A PHP client? How is it implemented?" What is done with the response headers is the HTTP client's decision! So without knowing your client has no way to know how the behavior will be for each answer.
Conclusion
We realize that the difference will manifest in the HTTP client implementation, so I can not accurately answer the difference! But in general the difference is that the Refresh header was created to display the content of the response prior to the redirect, already the header Location does not display any content however much it has.