![]() |
Uso de diferentes tipos de URLs en aplicaciones Web
Hola,
Estoy un poco intrigado con las URLs que pueden verse en algunos sitios Web y que son más o menos así, por ejemplo: Código:
http://www.ejemplo.com/login/ Código:
http://www.ejemplo.com/usuario/panel_control/ Código:
http://www.ejemplo.com/busqueda/cadena1+cadena2 Código:
http://www.ejemplo.com/login.php Código:
http://www.ejemplo.com/busqueda.php?cadena=cadena1 Código:
http://www.ejemplo.com/usuario/logout.php Código:
http://www.ejemplo.com/login/ Pero, no sé porqué me da la sensación de que no se trata de tener archivos "index.php" "predeterminados" en los directorios de nuestra aplicación, esto es, de crear directorios como "panel_control", "busquedas", "usuario", ¿no es esto más complicado que no utilizar los directorios y "llamar" directamente a los "Script" PHP oportunos? Por otro lado, ya he dicho que me placen más las URLs que muestro en primer lugar, pero, ¿será una cuestión de gustos nada más? ¿Acaso se gana algo ocultando los "Script" PHP de la URL, o, simplemente, haciéndolo de modo que las URLs sean como las que muestro en primer lugar? ¿Alguna ventaja inherente al hacerlo así? Añadiría que me vengo dando cuenta de este tipo de URLs que menciono de un tiempo a esta parte, no demasiado. Un ejemplo de sitio Web (además muy popular) que hace uso de esta "técnica" y del que me acuerdo ahora mismo es del.icio.us. ¿A alguien se le ocurre algo o sabe algo de esto que he comentado? Gracias de antemano y disculpad el rollo. Si no se entiende algo me lo decís a ver si podemos hacer algo. ;) |
Pienso que es totalmente indistinto hacer uso de cualquiera de las formas que indicas, realmente no veo ningún motivo evidente para recomendar una u otra práctica, ambas son buenas.
|
Si un sitio web es grande, es logico separar las cosas por directorios, esto no hace necesariamente las cosas mas complicadas sino al contrario.
Es mas sencillo tener organizados los scripts por funcionalidad en distintos directorios que tener cientos de archivos todos mezclados en un mismo sitio. Independientemente de esto ultimo, sí se puede utilizar el sistema que comentas sin necesidad de tener directorios, tampoco es necesario tener archivos de script separados. Esto lo hacen varios gestores de contenidos. El truco esta en usar un unico script php por ejemplo index.php que recibira todas las peticiones de archivos no encontrados "Not found" y este script debe analizar la url recibida y ejecutar el codigo php necesario Normalmente se pone en el .htccess una directiva como: ErrorDocument 404 /index.php Esto hace que, por ejemplo, cuando alguien pide algo como: http://www.ejemplo.com/usuario/nuevo Al no existir la url realmente, el servidor web da un error 404 no encontrado, y ejecuta automaticamente el index.php de la raiz de la pagina web, ahora es este script el que se tiene que encargar de analizar la url recibida y realizar la accion necesaria, cargando el script apropiado o lo que sea. El gestor de contenido drupal utiliza este sistema, es una caracteristica que le llaman "clean_urls" , urls limpias: www.drupal.org Una ventaja del uso de urls limpias es que es mucho mas facil para los buscadores indexar las paginas de un sistio web, normalmente indexan muchas mas paginas. Por ejemplo si utilizamos una sintaxis del tipo siguiente para determinadas busquedas: http://www.ejemplo.es/buscar/titulo/titanic http://www.ejemplo.es/buscar/titulo/superman http://www.ejemplo.es/buscar/titulo/spawn Desde el punto de vista de los buscadores parecen distintas paginas estaticas, y normalmente las indexara todas. Otra ventaja de tener un index.php centralizado se refiere al control de la web, al tener un unico punto de entrada se puede realizar operaciones que afecten a toda la pagina web de una forma sencilla modificando unicamente el script de entrada, por ejemplo añadir calculos estadisticas, visitas etc , cambios de apariencia globales, control de accesos para denegar la entrada a toda la web a determinados usuarios o ips, y todo esto sin tener que incluir nada en todos y cada uno de los scripts de la web. Saludos Miguel |
otra cosa que hay que tomar en cuenta es la seguridad, al mandar direcciones de este tipo : www.pagina.com/login.php?pass=password
es claro que podriamos tener algun problemilla en google hay mucha informacion sobre los metodos post y get para envio de variables en php, excelente para no enviar urls de ese tipo saludos |
Hola,
Bueno. Primero de todo, muchas gracias por responder a mi inquietud. Cita:
Lo que sí habría que dilucidar es si se trata de algo más que una moda o una forma de lograr URLs más "limpias" o "agradables", porque, de ser así, tal vez habría que tomarse la molestia de aprender un poco más sobre el tema. Cita:
Cita:
Cita:
Sin embargo, también podría extrañarme de mi extrañamiento, porque cosas así ya he visto algunas, y porque tal vez la idea de hacerlo así y los resultados funcionen perfectamente. Cita:
Cita:
Cita:
Cita:
Bueno. Que muchas gracias a todos. Que habéis sido muy amables respondiendo y que voy a ver si puedo sacar algo y aun algos en claro de todo lo que habéis dicho. Que tengáis un buen día y una buena noche también. Gracias otra vez. ;) |
Respecto al uso de index.php, me gustaría comentar que muchas personas opinan que este tipo de front controllers no es adecuado y uno de los argumentos que dan es el de que el servidor http es ya un controlador que se encarga de dirigir las peticiones a las distintas páginas. Yo no estoy ni a favor ni en contra necesariamente de eso. También, dicho desde mi ignorancia, creo que es importante entender que no todo es una cuestión meramente de gustos. Por ejemplo, el método POST y el método GET, no son, o no deberían ser intercambiables; cada uno está pensado y diseñado para un fin específico. Hay algo que llaman REST, que parece ser importante leer antes de adentrarse en una moda de urls. Como digo, yo no es que esté muy al tanto de estos temas pero los comento porque son cosas con las que me he encontrado últimamente al buscar este tipo de temas.
// Saludos |
Bueno, pues me he decidido meterme a esta conversación para dar algunos puntos de vista al respecto, aunque no estoy 100% seguro si no me he perdido al leerlo.
Siempre que he visto este tipo de URLs me ha entrado mucha curiosidad, como esta URL que nos dio dec Cita:
Código PHP:
Código PHP:
Código:
Array Código PHP:
Código:
Array Código PHP:
Esto es lo que estoy utilizando actualmente (desde hace una semana :p) y supongo que podría mejorarse, si a alguien se le ocurre una mejor idea, que la ponga aquí y la examinamos:D. Actualmente todos los scripts los tengo en el directorio ./http/ de la carpeta raíz, para asi no tener un monton de archivos en la raiz del sitio y que estos estén mas ordenados. Código PHP:
|
Mick, creo que no entiendo bien todo lo que dices, a ver si me puede explicar con más amplitud las dudas que tengo sobre algunas cosas que nos comentas.
Cita:
Cita:
Cita:
Si a un buscador le pones en lugar de lo que dices http://www.ejemplo.es/buscar.php?titulo=titanic http://www.ejemplo.es/buscar.php?titulo=superman http://www.ejemplo.es/buscar.php?titulo=spawn también lo indexará como tres páginas ¿entonces cual es la ventaja? Cita:
|
Cita:
Cita:
No le veo ventajas a lo otro y realmente me gustaría saber cuales son. |
Cita:
http://www.ejemplo.com/temas.php?tarea=ver&id=1 que seria una url en donde los valores posibles de la variable $tarea puedan ser ver, crear y editar, luego en id colocas el tema a ver o editar, la verdad es que si los indexan los buscadores, pero uno de los problemas que causa (digo de los problemas porque no se si es el único o hay mas, además me he enterado por terceros) es con el caracter "&", pues se supone que algunos robots-spiders pueden ignorarlo, mismo caso se dá con los sitemaps de google que detectan como url no válida todas aquellas que tienen este caracter. (no me meto a hablar mas del tema porque la verdad que la mayor parte de el la desconozco). Pero con lo otro que dices: Cita:
Saludos. |
Es bueno ver este tipo de temas por aqui... MUY raro de ver entre desarrolladores netos ;)
Lo de la URLs como lo mencionas de hecho es algo brutalmente importante. Imaginate que de hecho, no muy conocido, las URLS estan basados en un estandar, como este: http://www.w3.org/Provider/Style/URI.html.es En la movida hacia la construccion en sitios Web estandares, hay varios frentes: 1- El diseño como tal (que ya mucho estan moviendo a uso de CSS) 2- El reconocimiento de otros navegadores, no solo web(como el usado por personas invidentes) 3- El mejor manejo del contenido 4- La mejor estructuracion de los sitios (URLs no solo limpias sino utiles!) 5- El movimiento a formato de consumo diferentes a paginas html (ej: rss) y otros temas y subtemas que hacen de construir un sitio web con todos los jugetes un verdadero reto... Sin embargo, ya que estoy metido de lleno en este tema realmente hay muchos beneficios. Un buen sistema de URLs, no solo limpias sino con sentido ayuda de forma importante a un buen posicionamiento en los buscadores. El punto es este: Los buscadores tienen que usar tecnicas para darle un puntaje a un sitio. Por ejemplo, como sable Google que el clubdelphi maneja buenos chistes? No sabe. Google es verdaderamente estupido, como todos los programas en existencia. Pero se pueden inferir cosas, como la popularidad de la pagina, o en este caso, que tan habil es quien opera un sitio. Sitio con URLS alocadas: Quien lo opera no es muy habil. De pronto no es tan buen sitio Sitio con URLS limpias: Tiene chistes malisimos, pero hacer eso implica un peludo que sabe como es la movida actual, mejor puntaje. Y tonterias como estas... eso se llama SEO... |
Hola Mamcx, ccreo que has tocado el punto exacto de este problema, ahora espero que no te molesto, tomaré nota de lo que has dicho y a ponerlo en práctica.
Saludos. |
Disculpa mi ignorancia, ¿cuál es el punto exacto del problema? Yo de verdad ya no entiendo. En estos foros de vBulletin, los url son "sucios", según colijo de su nomenclatura; más sin embargo tengo entendido que están bastante bien indizados por google.
:confused: // Saludos |
Cita:
http://www.ejemplo.com/tema.php?tarea=ver&tema=1 lo hace vBulletin de la siguiente manera http://www.clubdelphi.com/foros/showtrhead.php?p=1234 algo muy distinto y que puede no causar problemas para los spiders. Ahora, al haber dicho: Cita:
Cita:
|
Cita:
http://www.clubdelphi.com/foros/show...ight=vbulletin :confused: // Saludos |
Cita:
http://clubdelphi.com/foros/newreply...reply&p=135351 No son urls que interese tanto indexar en los buscadores(desde mi punto de vista, claro está). La URL que has puesto, comparandola con esta: http://www.clubdelphi.com/foros/showpost.php?p=135347 Muestran el mismo tema, con la única diferencia que resalta la palabra "vBulletin", algo que en mi opinion no es del todo necesario indexar en un buscador, o si:confused:. Saludos. Edito: No son las únicas URLs así en vBulletin, pero si te das cuenta, estas URLs están en una escala menor con respecto a la importancia en indexación, porque ¿de que sirve que indexes un enlace que te lleve a editar un tema?, en algún caso me pasó eso con otro sistema de Foros e incluse me permitia editar y guardar los cambios (al parecer el lema de la SEGURIDAD no era de importancia en este:D) |
Cita:
// Saludos |
Hola,
Fijémonos por ejemplo en lo que hacen en del.icio.us al respecto, a ver si puede servirnos de algo a todos en general, y a mí en particular, para añadir a la explicación que con mejor o peor fortuna he tratado de hacer de aquello que me intrigaba, tal como digo más arriba. Código:
Entrada a la Web: Por ejemplo, créense una cuenta de usuario. Ya empezarán a ver cosas tan curiosas como que habrán de confirmar su cuenta mediante correo electrónico, empero, podrán mientras tanto (no sé por cuánto tiempo ni si con algún límite) utilizar su cuenta de usuario, añadir enlaces, editarlos, buscarlos, etc. Pero, esto no tiene mucho que ver con lo que tratamos. Una cosa que podría tener que ver y que me llama la atención es cómo puedes pasar de ver los enlaces de una determinada etiqueta a ver los de otra. En la parte superior izquierda de su página de usuario en del.icio.us encontrarán lo que parece una dirección URL, incluso quiere parecerlo, y se ve tal que así (con una fuente destacada) a modo de cabecera de la página en cuestión: Código:
del.icio.us/dec/|etiqueta| Bueno. Disculpad por el rollo. No era mi intención aburrir a nadie, os lo prometo. ;) |
Cita:
También quiero aclarar que en cuanto a la indexación de la que tanto he hablado, es porque me he enterado de que el utilizar el caracter "&" puede que algunos spiders no la tomen, pero en ningún momento he dicho que no se deban utilizar estas urls. Yo em cambio, he estado utilizando url's de esta forma: http://www.ejemplo.com/contenido/artículos.html,ver=1,tema=2 Tampoco es una url limpia, pero me ha funcionado, lo que hago es convertir la cadena en un arreglo, separándo esta por las ",". Luego creo las variables de acuerdo al nombre con que las muestro en la url (Bueno, pa que hablar mas de esto si apenas si yo me entiendo) Veamos el caso de wikipedia. Cuando buscas algún tema, te darás cuenta que la url que muestra parece que fuera como que tiene organizado el contenido por directorios, ejemplo de ellos: http://es.wikipedia.org/wiki/Php donde Php es el tema a buscar, pero demonos cuenta también que utiliza URLs como esta: http://es.wikipedia.org/w/index.php?...edit§ion=1 Donde está pasando parámetros de la forma común y corriente. Con esto no quiero decir que es necesario u obligatorio que utilices un solo tipo de urls, tampoco que debas usar ambas. Me parece interesante este enlace que nos ha dejado mamcx y me permito citar parte de lo que ahi he leido: Cita:
http://www.nsf.gov/cgi-bin/getpub?nsf9814 http://www.nsf.gov/pubs/1998/nsf9814/nsf9814.htm Definitivamente yo me inclino por la segunda url, es la forma de urls que todo navegante conoce, mientras que la primera, a algunos los dejará pensando en por que una url tan complicada. Además como dice Emmanuelle en este tema: Cita:
Bueno, espero no haber aburrido a ninguno y que me perdonen por cada error que he cometido :D. Saludos. |
Precisamente.
Una url de forma Cliente?Esto=1&Aquello=2 PUEDE que invoque una accion dinamica. Como crear una cuenta. Ahora imagina a los spider navegando la pagina y !puff! "clikean" esa URL. Y se van a crear una cuenta... y son varios spider en varias pasadas, y le dan submit al rollo, y devuelve error y se queda en un ciclo... Ese es el problema que tiene un spider: Que hacer con las URLS? Invocan acciones dinamicas o estaticas? En cambio: Cliente/Esto/Aquello Luce como algo ESTATICO. Fijate que la mayoria de los sitios web que usan funciones (internas) realmente presentan contenido estatico. O sea, se pudieran haber hecho a mano y quedarian igual. Por ejemplo, el inicio, los faqs, la info de los productos, etc... realmente pueden presentarse en forma estatica. No es tanto que hayan Urls "limpias" sino Urls con un sentido y proposito claro. |
La franja horaria es GMT +2. Ahora son las 23:25:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi