html-enlaces sin protocolo http


¿Hay alguna razón por la que incluimos el http / https ¿protocolo sobre el atributo href de los enlaces?

¿Estaría bien simplemente dejarlo apagado:

<a href="example.com">my site</a>
Author: Web_Designer, 2012-01-21

4 answers

La inclusión de la parte "http:" o "https:" es en parte solo una cuestión de tradición, en parte una cuestión de especificar realmente el protocolo. Si está predeterminado, se utiliza el protocolo de la página actual; por ejemplo, //www.example.com se convierte en http://www.example.com o https://www.example.com dependiendo de la URL de la página de referencia. Si una página web se guarda en un disco local y luego se abre desde allí, no tiene protocolo (solo el archivo: pseudo-protocolo), por lo que URLs como //www.example.com no funcionará; así que aquí hay una razón para incluir la parte" http: "o" https:".

Omitir también la parte "//" es un problema completamente diferente, convirtiendo la URL en una URL relativa que se interpretará como relativa a la URL base actual.

La razón por la que www.example.com funciona cuando se escribe o pega en la línea de dirección de un navegador es que las URL relativas no tendrían sentido allí (no hay una URL base con la que relacionarse), por lo que los proveedores del navegador decidieron implicar la "http://" prefijo allí.

 91
Author: Jukka K. Korpela,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-20 10:05:46

Las URL en href no están restringidas solo a documentos HTTP. Son compatibles con todos los protocolos soportados por los navegadores: ftp, mailto, file, etc.

También, puede preceder el nombre de la URL con '#', para enlazar a un id html internamente en la página. Puede dar solo el nombre o la ruta del directorio, sin un protocolo, que se tomará como una URL relativa.

 1
Author: Ninja,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-21 08:08:56

Mi solución fue engañar al navegador con un servicio de redirección, como bit.ly y goo.gl (que será descontinuado pronto), además de otros.

Cuando el navegador se da cuenta de que la url de los accesos directos es https, libera automáticamente la imagen del enlace, el enlace se libera y en su lugar muestra la imagen http, sin mostrar el enlace original.

La parte molesta es que, según el acceso, se mostrará en el panel de control de su redirector, miles de "clicks", que en realidad es"display".

Con esta experiencia voy a buscar un plugin de Wordpress para la redirección y crear mi propio "redirige enlaces". Así que tendré https // mysite.com / id → redirigir al enlace http.

 0
Author: Lucas Tolle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-09 06:04:15

Sin http, tomaría la URL relativa. Si tiene que apuntar a una URL externa, http necesita ser especificado, de lo contrario intentaría tomar un recurso local.

Por lo tanto, depende de a dónde desea apuntar.

 -1
Author: Kumar Bibek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-21 07:41:57