← ТехнологииНай-важното за

301 и 308: какво означава постоянно пренасочване

Проверено на 20.10.2026 • 2 източника

В няколко изречения

Накратко

Двата статуса насочват клиента към нов адрес, но поведението при метод и тяло на заявката е съществена разлика. Правилната проверка следи целия маршрут.

Полезно е да знаеш

Промяната на адрес в един сайт не изисква старите връзки веднага да станат безполезни. Сървърът може да отговори, че ресурсът е преместен, и да посочи къде да бъде потърсен. Статусът 301 обозначава постоянно преместване, а заглавката Location съдържа новия адрес. Браузърът обичайно прави следваща заявка към него. Това е повече от показване на съобщение: има второ мрежово действие, което трябва да завърши успешно, за да види посетителят очакваната страница. [1]

Статусът 308 също означава постоянно пренасочване. Неговата важна особеност е запазването на метода и тялото на заявката при преминаването към новия адрес. [2] Разликата става съществена, когато обменът не е просто отваряне на документ. Ако клиентът изпраща данни, има значение дали след пренасочването ще изпрати същото действие със същото съдържание. Видимото сходство между две страници не е достатъчно, за да се приеме, че двата статуса са взаимозаменяеми във всеки поток.

При 301 съществува установено поведение, при което POST се преобразува в GET при следване на пренасочването. MDN препоръчва 308, когато промяната на метода трябва да бъде избегната. [1] Това не означава, че всеки сайт трябва механично да замени всички свои пренасочвания. Нужно е първо да се разбере какви заявки преминават през конкретното правило. Преместването на публична статия и пренасочването на адрес за изпращане на формуляр имат различен контекст, въпреки че и двете използват нов URL.

Да разгледаме измислен пример с променен път на материал от каталог. Старият адрес връща пренасочване към новия, но новият път на свой ред връща още едно пренасочване. Получава се верига от заявки. Този пример показва защо проверката не приключва при първия статус. Трябва да се види крайният адрес и крайният отговор. Ако две правила насочват едно към друго, наличието на правилно изписани кодове само по себе си няма да даде завършено зареждане.

При техническа проверка е полезно отделно да се разгледат началният отговор и последващото следване. Така се вижда дали Location е очакваната стойност и дали методът се запазва там, където това е необходимо. Спецификата на 308 е именно в поведението на клиента при следващата заявка, а не в красивото съобщение в тялото. [2] За чувствителни действия изпитването трябва да използва безопасни тестови данни, за да се наблюдава резултатът без случайно създаване на реални записи.

За поддръжката на сайта доброто правило има ясен повод и ясна цел: кой стар адрес обслужва, към кой нов води и защо преместването е постоянно. След промяна могат да се проверят представителни връзки и необходимите методи, вместо да се разчита само на началната страница. Така пренасочването остава предвидима част от архитектурата на адресите. То помага на посетителите да достигнат съдържанието, когато сайтът се развива, без старите пътища да се превръщат в неясен лабиринт от правила.

Източници

За повече подробности и проверка на информацията:

  1. [1] MDN — 301 Moved Permanently ↗
  2. [2] MDN — 308 Permanent Redirect ↗