Muchas veces veo que las extensiones de URL están ocultas (por ejemplo .html
, .php
), pero no todos los sitios web hacen esto.
¿Por qué los webmasters ocultan la extensión? ¿Es por seguridad, para que la URL se vea más limpia o para algún otro propósito?
url
url-rewriting
filenames
clean-urls
Desconocido
fuente
fuente
Respuestas:
Existen varias razones para eliminar extensiones de las URL:
Tenga en cuenta que muchos sitios son generados por un sistema de gestión de contenidos (CMS) que haría que las URL siguiente aspecto:
/index.php?page=this-is-the-widget-page
. Eso es particularmente feo y tiene mucho más rudo que solo una extensión. Reescribiendo para eliminarindex.php?page=
hace mucho mejor.No se necesitan extensiones en la web porque los servidores envían el tipo de documento como encabezado. Las páginas web se sirven como
text/html
imágenesimage/png
oimage/jpeg
. Esto permite a los navegadores saber cómo representar el contenido sin usar una extensión para descubrir que la URL contiene texto, HTML, PDF o imagen (para obtener más información, consulte el artículo de Wikipedia sobre el tipo de medio de Internet ).Algunos webmasters eligen usar una extensión en sus URL que coincida con este tipo de contenido. Por lo tanto, cualquier
text/html
documento tendría una.html
extensión y cualquierimage/png
documento tendría una.png
extensión. Eso puede ayudar cuando las URL se guardan en el sistema de archivos donde se pierden los metadatos sobre su tipo de contenido. En la mayoría de los sistemas de archivos, la extensión elige el programa que abre el archivo. Entonces, incluso si PHP sirve una página, algunos webmasters eliminan la.php
extensión y otros la reemplazan por.html
.También está la cuestión de si las URL podrían ser mejores terminando en una barra inclinada (
/
) cuando no tienen extensión, lo que tiene mucha discusión sobre el desbordamiento de pila.fuente
Todos los servidores web tienen uno o más "archivos predeterminados". Es el archivo que se mostrará cada vez que un visitante vaya a una URL que termine en una barra diagonal
/
, es decir, una carpeta.Si el nombre de archivo predeterminado en su servidor web es
index.php
y va un visitantewww.example.com/pagename/
, en realidad está accediendowww.example.com/pagename/index.php
.Si no hay seguimiento
/
, el servidor web probablemente solo está reescribiendo la URL para eliminarlo, ya que no es necesario. Este sitio, de hecho, hace eso.fuente
Este es el tipo de esquema URI "genial" que busco en mi propio sitio web personal.
Personalmente, la razón por la que comencé a hacerlo (¡y probablemente muchos más diseñadores / desarrolladores web también!) Fue después de leer el artículo "Los URI geniales no cambian" : este documento fue escrito por el padre fundador de la World Wide Web, Tim Berners -Sotavento.
En el famoso artículo de Tim Berners-Lee, básicamente declara las mismas razones que Stephen Ostermiller tiene en su excelente respuesta a esta pregunta. .
Para dar una respuesta más específica a su pregunta principal, "¿Por qué las extensiones están ocultas en las URL?" Bueno, yo diría que las principales razones para mí son:
1. Para preparar el futuro del URI:
Por ejemplo, podría haber sonado como una buena idea en el momento de usar un URI como:
http://www.example.com/page.pl
donde.pl
es la exención de archivo para un script Perl. Sin embargo, en la actualidad, la mayoría de los desarrolladores web usan ASP.NET o PHP para la creación de scripts de back-end, por lo que incluso hoy ,http://www.example.com/page.php
parece una mejor idea, eventualmente PHP y ASP / ASP.net se volverán anticuados. Entonces, una mejor idea es eliminar la extensión por completo.2. Legibilidad y memorabilidad:
Es mucho más fácil transmitir un URI “genial” a las personas verbalmente, en papel (por ejemplo, anuncios, tarjetas de presentación, etc.), sin mencionar que es más fácil de recordar.
3. "Hackability" *
Aunque diría que la gran mayoría de los usuarios en estos días probablemente pasan por un motor de búsqueda para todo, ¡incluso he visto personas que irían a la barra de direcciones y escribirían
www.google.com
, y luego usarían Google para escribir literalmentewww.ebay.com
! Pero, creo que si tengo un sitio web basado en multimedia, el URIhttp://www.example.com/video
sugiere que la sección de música se puede encontrar debajo del URIhttp://www.example.com/audio
, y así sucesivamente. (Todavía uso la barra de direcciones para ir a sitios web, ¡soy bastante "de la vieja escuela" sobre ese tipo de cosas!)* (¡Oh! "Hackability" - ¿existe esa palabra? ¡ Bueno, ahora sí !) :-)
4. ** Estética: ¡ para que se vean más bonitas! (¡Culpe a mi TOC!)
Sin embargo, al leer a través de varios sitios web relacionados con SEO, he notado que muchos webmasers realmente agregan extensiones de archivo a URI dinámicos, por ejemplo:
El URI real puede ser:
http://www.example.com/article
Sin embargo, el webmaster realizará una reescritura para que el URI "se vea" estático, como por ejemplo:
http://www.example.com/article.html
La lógica detrás de esto es que, básicamente, un motor de búsqueda asignará una clasificación más alta a las páginas estáticas (que, aparentemente, es menos probable que cambien). (Aunque no soy exactamente un experto en SEO, personalmente no creo en esta idea, supongo que con el tipo de mentes detrás de los algoritmos de Google y Bing, tomará un poco más que una extensión de archivo falso para ¡Conviértete en la pole position SERP!)
Para obtener más información sobre cómo nombrar URI, recomiendo leer estos artículos:
Tim Berners-Lee:
Consejos de control de calidad del W3C:
Brian Kelly (UK Web Focus / UKOLN - Universidad de Bath):
¡Espero que esto ayude!
fuente
Estoy completamente de acuerdo con todas las respuestas anteriores. Solo agrego que una de las razones por las que las extensiones están ocultas en la URL es la seguridad. En pocas palabras, si no expone la extensión en la URL, es poco difícil descubrir la tecnología con la que se ha creado la aplicación. Entonces, digamos que una página está hecha en PHP y la extensión no está oculta, entonces un hacker podría descubrir las vulnerabilidades de PHP y usarlo para ejecutar alguna actividad maliciosa.
fuente
Ocultas o no tus extensiones de página, las personas aún pueden saber qué tecnología has utilizado. Al usar cURL, no es imposible obtener su tecnología buscando la información del encabezado.
Luego, vería algo como su tecnología, solicitud de caché, conexión y más.
fuente
Totalmente de acuerdo con lo explicado por "Stephen Ostermiller", pero me gustaría mencionar el truco detrás de eso para ocultar la extensión de las URL. Y para eso tienes que usar la regla de reescritura .htaccess , aquí está el script que te ayuda:
Redireccionar
.php
solicitudes externas a URL sin extensiónfuente