301
Moved Permanently
Общо обяснение на код на състоянието 301
Кодът на състоянието на HTTP 301 Moved Permanently показва, че заявеният ресурс е постоянно достъпен на нов URL адрес. Когато клиент, например браузър или търсачка, получи този отговор, той автоматично се пренасочва към новия адрес. В същото време клиентът запомня новия URL адрес, така че бъдещите заявки могат да бъдат изпращани директно на него. Този код на състоянието често се използва при преструктуриране на уебсайтове или преместване на съдържание, за да се гарантира, че потребителите и търсачките използват актуализираните пътища. За крайния потребител това обикновено се случва незабелязано във фонов режим, тъй като пренасочването се извършва автоматично. От техническа гледна точка пренасочването 301 Moved Permanently е важно, за да се прехвърлят класирането в търсачките и трафикът към новите URL адреси, без да се губят съществуващите връзки. Използвано правилно, то е полезен инструмент за поддържане и оптимизиране на уебсайтове.
Спецификация на HTTP код на състоянието 301
Кодът на състоянието 301 Moved Permanently показва, че на целевия ресурс е бил определен нов постоянен URI и всички бъдещи препратки към този ресурс трябва да използват един от приложените URI. Клиентите с възможности за редактиране на връзки трябва автоматично да препращат препратките към ефективния URI на заявката към една или повече от новите препратки, изпратени от сървъра, когато това е възможно.
Сървърът ТРЯБВА да генерира поле от заглавието Location (Местоположение) в отговора, съдържащо предпочитана препратка към URI за новия постоянен URI. Потребителският агент МОЖЕ да използва стойността на полето Location за автоматично пренасочване. Полезният товар на отговора на сървъра обикновено съдържа кратка хипертекстова бележка с хипервръзка към новия(те) URI.
Забележка: По исторически причини потребителският агент МОЖЕ да промени метода на заявката от POST на GET за последващата заявка. Ако това поведение не е желателно, вместо него може да се използва код на състоянието 307 (временно пренасочване).
Отговор 301 Moved Permanently е кешируем по подразбиране, т.е. освен ако не е посочено друго в дефиницията на метода или изричните контроли на кеша (вж. раздел 4.2.2 на [RFC7234]).
Източник / Цитат от: Кодът на състоянието 301 Moved Permanently на HTTP е определен в раздел 6.4.2 на RFC7231.
Протокол HTTP
Как да изхвърлим код на състоянието 301 с PHP?
За изхвърляне на HTTP статус код 301 на уеб страница може да се използва функцията http_response_code на PHP. Синтаксисът е следният: http_response_code(301) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Тестване на код 301 на състоянието HTTP
За да можете да показвате кода на състоянието на HTTP (в този случай 301 Moved Permanently) и друга информация от страна на клиента, конзолата за разработка трябва да се отвори с F12. След това преминете към раздела "Мрежа". Сега страницата може да бъде отворена, като уебсайтът (пример index.php) трябва да се вижда в раздела "Мрежа". Той трябва да бъде избран и след това трябва да се избере разделът Herder. След това потребителят ще види следния резултат:
URL: https://http-statuscode.com/errorCodeExample.php?code=301
Статус: 301 Moved Permanently
Тези: Network
IP адрес: XX.XX.XX.XX
Съвместимост на кода на състоянието 301 с браузъра
Chrome | Yes |
Edge | Yes |
Firefox | Yes |
Opera | Yes |
Safari | Yes |
Chrome Android | Yes |
Firefox for Android | Yes |
Opera Android | Yes |
Safari on iOS | Yes |
Internet | Yes |
WebView Android | Yes |
Константи в езиците за програмиране
HttpStatusCode.MovedPermanently
http.StatusMovedPermanently
Response::HTTP_MOVED_PERMANENTLY
httplib.MOVED_PERMANENTLY
http.client.MOVED_PERMANENTLY
http.HTTPStatus.MOVED_PERMANENTLY
:moved_permanently