Яка різниця між 301 та 302 у HTTP?


9

Я бачу всі сайти, подібні до тинюрлів 302

Але яка різниця? Здається, обидва працюють на мене

Відповіді:


12

Статус 301 (переміщений постійно) означає, що ресурс був назавжди переміщений на нове місце. Клієнт (браузер) повинен використовувати нове місце замість старого в майбутньому.

Статус 302 (знайдено) означає, що ресурс тимчасово розташований в іншому місці. Клієнт повинен використовувати задане місце для поточного запиту, але надалі слід продовжувати використовувати старе місцеположення.

Обидва коди стану матимуть наслідком того, що браузер слідкувати за переадресацією. Ви повинні вибрати статус 301 або 302 залежно від того, перенаправлення є постійним чи тимчасовим.

Більш детальну інформацію про ці коди відповідей HTTP можна знайти в RFC 2616 .


Що робити, якщо я хочу скасувати 301? Це виходить з-під контролю, оскільки він знову не використовується?
vps

@vps Ви можете скасувати переадресацію 301, але немає гарантії, що клієнт повторно запитає оригінальну URL-адресу. Якщо ви хочете в майбутньому скасувати переадресацію, тоді вам може бути краще скористатися 302.
Філ Росс

3

Коли павук пошукової системи виявляє код статусу 301 у заголовку відповіді веб-сторінки, він розуміє, що ця веб-сторінка більше не існує, він шукає заголовок місцезнаходження у відповідь, вибирає нову URL-адресу та замінює індексовану URL-адресу новою, а також передає сторінкуrank .

Тож пошукова система оновлює всю індексовану URL-адресу, яка вже не існує (301 знайдено) за допомогою нової URL-адреси, це збереже ваш старий трафік веб-сторінки, перейде сторінка і перенаправить його на нову (ви не втратите трафік старої веб-сторінки).

Веб-переглядач: якщо браузер знайде код статусу 301, він кешує відображення старої URL-адреси з новою URL-адресою, клієнт / браузер не буде намагатися запитувати оригінальне місцеположення, а використовуватиме нове місце відтепер до видалення кешу.

Коли павук пошукової системи визначає статус веб-сторінки 302, він буде лише тимчасово перенаправляти на нове місце та сканувати обидві сторінки, стара URL-адреса веб-сторінки все ще існує в базі даних пошукової системи, і він завжди намагатиметься запросити старе місце розташування та сканувати його, клієнт / браузер все ще намагатиметься запросити оригінальне місцезнаходження.

Докладніше про те, як його реалізувати в asp.net c # та як впливає на пошукову систему - http://www.dotnetbull.com/2013/08/301-permanent-vs-302-temporary-status-code- aspnet-csharp-Implementation.html


0

Вони різні в SEO.

Для 302 google збереже URL-адресу перенаправлення та вкаже на нього користувачів.

Також (для tinyurl) за допомогою 302 можна змінити перенаправлення, наприклад, у випадку спаму (див. Приклад http://tinyurl.com/nospam.php?id=amgzs6 ). Використання 301 ускладнює зміну перенаправлення


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.