Использование протокольных относительных URI в заголовках «Местоположение:»

В руководстве по PHP я отмечаю следующее:

HTTP / 1.1 требует абсолютного URI в качестве аргумента для «Location»: включая схему, имя хоста и абсолютный путь, но некоторые клиенты принимают относительные URI.

Чтобы облегчить пользователям предпочтение HTTPS во всем мире , я думаю об изменении заголовков в моих PHP-скриптах из:

header("Location: http://www.example.com/"); для header("Location: //www.example.com/");

Я тестировал приведенный выше код для работы с моим браузером firefox, но я не уверен, что это целесообразная вещь. Или я должен извлечь протокол из переменной $_SERVER и поместить его.

    Обновление HTTPbis позволяет относить URI. Хотя это не упоминается конкретно, это включает URL-адреса, относящиеся к протоколу.

    (Это прежде всего обновление спецификации HTTP / 1.1, что документы устанавливают поведение браузера.)

    Как и указано в протоколе HTTP , вы должны использовать абсолютный URI . Вы все же можете обнаружить протокол, используя переменную $_SERVER['HTTPS'] , с условием типа:

     $ protocol = "http".  (! empty ($ _ SERVER ['HTTPS'])? "s": "");