Сайт возвращает 302 вместо 200
-
26-09-2019 - |
Вопрос
Ну, это меня бесит.Я использовал инструмент проверки заголовков Http, чтобы проверить заголовки моей веб-страницы, и угадайте, что.На каждый запрос ответ был 302 вместо 200.
domain.con
www.domain.con
http://www.domain.con
Итак, я что-то упускаю?Никакого редиректа я не ставил.
Так куда, черт возьми, перенаправляется мой сайт?Есть ли дыра в безопасности?
ОБНОВЛЯТЬ:Пока гуглил нашел Вот этот
Решение
domain.com
не то же самое, что www.domain.com
- Это перенаправить.
Другие советы
Вы получаете это, потому что .NET / IIS перенаправляет ваш www.domain.com или domain.com на www.domain.com/default.aspx, поэтому вы получаете заголовок с 302, а затем один за 200. Я думаю, что это по дизайну Но очень запутанно.
Может быть, случай этого:
302 найдено
Это самый популярный код Redirect, но также пример промышленной практики, противоречащих стандарту. Спецификация http / 1.0 (RFC 1945) требовала клиента выполнить временный перенаправление (оригинальная фраза, описывающая фразу «перемещалась временно»), но популярные браузеры реализованы 302 с функциональностью 303, см. Следовательно, http / 1.1 добавленные коды состояния 303 и 307, чтобы различать двумя поведением. Однако большинство веб-приложений и каркасов все еще используют код состояния 302, как если бы он был 303.
303 Смотрите другие (поскольку http / 1.1)
Ответ на запрос можно найти под другим URI, используя метод получения. При получении в ответ на поставку следует предположить, что сервер получил данные, а перенаправление должно быть выдано с отдельным сообщением Get.
Возможно, вы забыли добавить последнюю косушку до конца вашего URL. Большинство веб-серверов будут перенаправлять вас в «каноническое» местоположение, которое включает в себя ствол. Если вы включите косушку, вы можете получить ответ, который вы ищете.
Используете ли вы аутентификацию с помощью форм?и страница входа в систему - это какая-то другая страница, чем страница по умолчанию, скажем, auth.aspx?В этом случае вы всегда получите код 302, и страница будет перенаправлена на страницу входа.
В ASP.NET мы можем перенаправить с помощью ответа.redirect & Server.transfer. Если мы пойдем с Server.transfer, код статуса 302 никогда не ударит и напрямую попадает в 200. Если мы пойдем с ответом.redirect, он проходит от 302 до 200 в качестве ответа .. который не только круглосуточно.