Dave Ward говорит,Могу ли я изменить все мои ссылки http: // только на //?
Это не совсем легкое чтение, но section 4.2 of RFC 3986 обеспечивает полностью квалифицированную URL-адреса, которые опускают протокол (HTTP или HTTPS) в целом. Когда протокол URL опущен, браузер использует протокол базового документа.
Проще говоря, эти «протокол-менее» URL позволяют ссылку, как это работает в любом браузере, вы попробуете его в:
//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js
Это выглядит странно на первый, но это «протокол без URL "- лучший способ ссылки на контент сторонних производителей, доступный как через HTTP, так и HTTPS.
Это, безусловно, решит кучу ошибок смешанного содержания, которые мы видим на страницах HTTP, - предположим, что наши активы доступны через HTTP и HTTPS.
Совместим полностью Совместим с браузером? Есть ли какие-либо другие оговорки?
Я читал об этой технике в блоге IE некоторое время назад. Но когда я попробовал, он не будет работать неплохо. Если мой сайт обслуживался HTTPS, браузер (Chrome) все еще использовал HTTP для URL-адресов, не содержащих протоколов. –
ПРЕДУПРЕЖДЕНИЕ: не забудьте НИКОГДА пользовательские безрисковые URI в перенаправлении HTTP 3xx !! Заголовки HTTP не совместимы с этим URL-адресом. Если вам нужно перенаправить в зависимости от схемы, используйте mod_rewrite или аналогичный. – user2596282
@ user2596282 Экспериментирование в современных версиях Chrome и Firefox не согласуется с вами, равно как и модификация (все еще в проекте) HTTP 1.1. spec, определенный рабочей группой HTTPbis (см. https://svn.tools.ietf.org/svn/wg/httpbis/draft-ietf-httpbis/latest/p2-semantics.html#header.location). Возможно, то, что вы говорите, верно для некоторых браузеров; знаете ли вы, в частности, что сбои в отношении URL-адресов, связанных с протоколом, в заголовках местоположений? –