To discover the difference we will have to analyze this question from two points of view, server-side and client-side:
Server-side
For the server there is no difference, it will simply be another HTTP response with the 302 status which in the specification is redirect status. " What do you mean there’s no difference?" That’s right for the server that matters is the request the response is of interest to the client (disregarding http gateways) so here we realize we’ll have to analyze this client-side problem!
Client-side
Now that we know that the problem is here we have to understand one thing about the HTTP client: For the HTTP client no matter what status and header the server sends, the answer will always be downloaded to the client, the responsibility of sending a body or is not on the server, As much as the answer is in the client’s interest, he can’t do it. Knowing this we realize that the difference is not in downloading or not the content of the answer!
At these times you will ask: "Okay, so what’s the difference?". And I would have to answer: "Which 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 decision of the HTTP client! So without knowing your client has no way of knowing how the behavior will be for each answer.
Completion
We realize that the difference will manifest itself in the implementation of the HTTP client, so I can’t answer precisely what the difference is! But in general the difference is that the header Refresh was created to display the content of the response before the redirect, already the header Location does not show any content however you have it.
I’m curious now. refresh changes history the same way redirect?
– Oralista de Sistemas
Something related to in that matter, But to tell you the truth, I didn’t quite understand.
– Papa Charlie
Maybe that question answer your question
– Fábio Lemos Elizandro
I think this issue is not only related to [tag:php], maybe changing the tag to [tag:http] is more coherent.
– gmsantos
Thanks @gmsantos, changed the tag.
– Papa Charlie