What comes back from a click

Open DevTools, choose Network, and tick Preserve log to watch each hop.

A page that moved (/go/moved)
301 Moved Permanently to the URLs page. The address bar shows the new address, not the one in the link.
A temporary redirect (/go/302)
302 Found to the echo. The echo's query says via=302.
A chain of three redirects (/go/chain)
Three 302s, one after another, before the echo. Each hop is a separate request and response.
A page that is gone (/go/gone)
410 Gone, with a short page that says so.
A response with nothing in it (/go/no-content)
204 No Content. This link opens in place, and nothing happens: the browser keeps the page it was showing.
A response that is a file (/go/attachment)
200 with Content-Disposition: attachment. This link opens in place too, and the browser saves receipt-1042.txt instead of showing it.

Send a form through each redirect

Each button posts item=boots to one /go/ address. The echo shows the method and body that arrived after the redirect.

After a 301, 302 or 303, the echo reports "method": "GET" and no body. After a 307 or 308, it reports "method": "POST" with item=boots still in the body.

The same hops in a terminal

-I asks for the headers only, and curl does not follow redirects unless told to, so each answer is shown as it is:

curl -I https://cse134.site/go/chain
curl -IL https://cse134.site/go/chain

The second command adds -L, which follows every Location header and prints each response along the way.