PHP redirects are server side only. The request is sent to the server and the server redirects the request to a helper application such as php, nodejs, tomcat, or whatever. The helper application creates a response and returns it to the server with another helper application instance, another url, etc. This works regardless of client side computation
HTML redirects work in html using the meta tag, html-equiv and content attributes. I think all browsers support it.