Это не ошибка и не предполагаемое поведение.Причина этого заключается в том, что нет заголовка с именем Refresh:
, определенного ни одним из HTTP RFC (в частности, RFC1945 и RFC2616 не упоминают об этом).Это означает, что, хотя большинство браузеров реализуют заголовок Refresh
, как если бы это было мета-обновление, не существует ожидаемого поведения для этого, которое можно считать одинаковым во всех браузерах .
Оглядываясь вокруг StackOverflow и Интернета в целом кажется, что заголовок Refresh:
был (как и многие другие) изобретен Netscape в первые дни Интернета и принятвсеми.В то время как многие из этих произвольных конструкций Netscape (, такие как Javascript ) были позже приняты в качестве отраслевых стандартов, заголовок Refresh:
не был, потому что HTTP уже предусматривал эту функциональность с 3xx
кодами ответа.
Суть этого заключается в том, что неудивительно, что разные браузеры обрабатывают его по-разному, потому что нет стандарта, который бы указывал разработчикам браузеров, как именно с ним обращаться.А по поводу использования заголовка в ваших приложениях - не надо.Легко и просто.Используйте 3xx перенаправления.Вот для чего они.И если вы используете его, потому что вам нужно обновить страницу после тайм-аута, используйте <meta>
refresh - , в то время как теперь это официально устарело , оно должно обрабатываться везде одинаково.