Различия между различными кодами перенаправления HTTP 3XX мне не понятны. Да, я прочитал спецификацию, но, похоже, существует некоторая разница между стандартной и фактической практикой.
Код перенаправления 301
кажется достаточно ясным: это означает, что ресурс был постоянно перемещен в другой URI, а будущие запросы должны использовать этот URI.
И код перенаправления 307
также кажется ясным: это означает, что перенаправление является временным, а будущие запросы все равно должны использовать исходный URI.
Но я не могу сказать, какая разница между 302
и 303
, или почему они из них действительно отличаются от 301
. Похоже, что 302
изначально предполагалось временным перенаправлением (например, 307
), но на практике большинство браузеров рассматривали его как 303
. Но какая разница между a 303
и a 301
? Предполагается ли, что 301
означает, что перенаправление является более постоянным?