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