¿Puedo cambiar todos mis enlaces http:// a solo ///?

Resuelto a paid nerd asked hace 13 años • 7 respuestas

Dave Ward dice,

No es exactamente una lectura ligera, pero la sección 4.2 del RFC 3986 proporciona URL totalmente calificadas que omiten el protocolo (HTTP o HTTPS) por completo. Cuando se omite el protocolo de una URL, el navegador utiliza en su lugar el protocolo del documento subyacente.

En pocas palabras, estas URL "sin protocolo" permiten que una referencia como esta funcione en todos los navegadores en los que la pruebe:

//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js

Al principio parece extraño, pero esta URL "sin protocolo" es la mejor manera de hacer referencia a contenido de terceros que está disponible a través de HTTP y HTTPS.

Sin duda, esto resolvería un montón de errores de contenido mixto que estamos viendo en las páginas HTTP, suponiendo que nuestros activos estén disponibles a través de HTTP y HTTPS.

¿Es esto completamente compatible con todos los navegadores? ¿Hay otras advertencias?

a paid nerd avatar Jan 29 '11 01:01 a paid nerd
Aceptado

Lo probé minuciosamente antes de publicarlo. De todos los navegadores disponibles para probar en Browsershots , solo pude encontrar uno que no manejaba correctamente la URL relativa del protocolo: un oscuro navegador *nix llamado Dillo .

Hay dos inconvenientes sobre los que he recibido comentarios:

  1. Es posible que las URL sin protocolo no funcionen como se espera cuando "abre" un archivo local en su navegador, porque el protocolo base de la página será file:///. Especialmente cuando utiliza la URL sin protocolo para un recurso externo como un activo alojado en CDN. Sin embargo , usar un servidor web local como Apache o IIS para realizar pruebas con direcciones http://localhost funciona bien.
  2. Aparentemente hay al menos una aplicación de lectura de feeds para iPhone que no maneja correctamente las URL sin protocolo. No sé cuál tiene el problema ni qué tan popular es. Para alojar un archivo JavaScript, eso no es un gran problema ya que los lectores RSS normalmente ignoran el contenido JavaScript de todos modos. Sin embargo, podría ser un problema si utiliza estas URL para medios como imágenes dentro del contenido que debe distribuirse a través de RSS (aunque esta aplicación de lector único en una sola plataforma probablemente represente un número muy marginal de lectores).
Dave Ward avatar Jan 28 '2011 19:01 Dave Ward

La cuestión de si se podrían cambiar todos sus enlaces para que sean relativos al protocolo puede ser discutible, considerando la cuestión de si se debería hacerlo. Según Paul Irish :

17/12/2014: Ahora que se recomienda SSL para todos y no tiene problemas de rendimiento, esta técnica ahora es un antipatrón. Si el activo que necesita está disponible en SSL, utilice siempre el activo https:// .

Ohad Schneider avatar Jan 17 '2015 13:01 Ohad Schneider