Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-05-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
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
Me explico. Generalmente en las pruebas que voy haciendo con PHP suelo utilizar URLs de este tipo, por ejemplo:

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
Entonces, como me placen más las URLs como las que menciono en primer lugar, pienso que pueden conseguirse más o menos de este modo:

Código:
http://www.ejemplo.com/login/
... Siempre que en el directorio "login" exista un archivo "index.php",... u otro archivo "predeterminado" de algún modo mediante algún archivo ".htacess" (ni siquiera sé si lo escribo bien, apenas sé que existen).

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.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #2  
Antiguo 04-05-2006
Avatar de Emilio
*Emilio* Emilio is offline
Capo
 
Registrado: may 2003
Ubicación: Palma de Mallorca
Posts: 2.635
Poder: 10
Emilio Va por buen camino
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.
__________________
Saludos
Emilio
Responder Con Cita
  #3  
Antiguo 04-05-2006
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 22
Mick Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 04-05-2006
reevil reevil is offline
Miembro
 
Registrado: abr 2006
Posts: 179
Poder: 19
reevil Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 04-05-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno. Primero de todo, muchas gracias por responder a mi inquietud.

Cita:
Empezado por Emilio
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.
A mí es que me llamaba la atención ver algunos sitios Web que emplean el tipo de URLs a que me he referido. Por supuesto que otros sitios Web también muy curiosos no hacen uso de dicha técnica, a lo menos no tan fundamentalmente como dice el compañero Mick que se hace en el gestor de contenidos Drupal. Por ejemplo, en WordPress (otro gestor de contenidos) se hace "mitad y mitad" (podría decirse) y WordPress me parece un estupendo trabajo y ahí están sus resultados, que se pueden ver.

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:
Empezado por Mick
Si un sitio web es grande, es logico separar las cosas por directorios, esto no hace necesariamente las cosas mas complicadas sino al contrario.
Totalmente de acuerdo. De hecho es una práctica que utilizo no solamente en PHP, pero con Delphi, con cualquier lenguaje o entorno, procuro que los proyectos que llevo a cabo hagan uso y se aprovechen de los beneficios que conlleva separar las cosas y tenerlas por eso mismo un poco más ordenadas.

Cita:
Empezado por Mick
Es mas sencillo tener organizados los scripts por funcionalidad en distintos directorios que tener cientos de archivos todos mezclados en un mismo sitio.
Cierto, cierto. Aunque también es cierto que con PHP tengo algún que otro problema, seguramente por mi inexperiencia con el lenguaje y hasta la plataforma (cliente/servidor, si se puede decir así). En el sentido de que he visto ocasiones en que prácticamente me he visto obligado a añadir más archivos en un solo directorio (el raíz, generalmente) de los que yo deseara. Pero, ya digo, esto debe ser más bien inexperiencia mía, falta de recursos y salidas, entre otras cosas.

Cita:
Empezado por Mick
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
Pues, así, a bote pronto, no sé si es porque la idea no se me ha ocurrido a mí (suele sucederme) o por qué será, pero, me parece un poco una "chapucilla", eso de que el mecanismo utilizado por el Servidor Web para advertir de archivos no encontrados se utilize para propósitos internos de la aplicación Web, nada menos que para su "sistema de navegación o URLs", dicho mal y pronto.

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:
Empezado por Mick
El gestor de contenido drupal utiliza este sistema, es una caracteristica que le llaman "clean_urls" , urls limpias: www.drupal.org
Es estupendo que respondieras Mick, porque, efectivamente, has dado información precisa. Ya descargé (mientras escribía esto) Drupal y después quisiera echarle un vistazo en general (que no lo he hecho nunca) y de forma particular a ese "index.php" tan curioso que deben de tener.

Cita:
Empezado por Mick
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.
Una ventaja nada desdeñable, supongo. Yo con HTML no he tenido problemas, afortunadamente, mis páginas solían aparecer en Google: procuraba por mi parte mantenerlas "limpias", con código fuente válido y validado, en fin. Pero, con PHP las cosas cambian, las páginas se generan dinámicamente, y aquí me pierdo yo un poco. Así que, como digo, la ventaja que mencionas no parece nada desdeñable.

Cita:
Empezado por Mick
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.
Resalto parte del párrafo anterior porque era, precisamente, lo que iba a comentar a continuación. Independientemente de la URL, siempre se terminaría en un punto de entrada (siempre, siempre, depende, a lo mejor para algunas URLs conviene que tengan propio punto de entrada). Casi estoy deseando echar un vistazo al "index.php" de Drupal, porque me parece interesante y curioso todo este asunto.

Cita:
Empezado por reevil
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
Otra cosa que no es moco de pavo. Esas URLs que dices son un poco feas, aunque no diré yo que no puedan utilizarse las URLs para pasar parámetros a ciertos Script, no es eso. Como todo, bien utilizado el recurso... Empero, es cierto que me da un poco de grima el encontrarme con URLs de ese tipo, como si intuitivamente supiera que no son la mejor forma de hacer las cosas. Bueno. El método "POST", en lugar de "GET" tal vez puede de entrada ofrecernos mejores resultados en estos temas.

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.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 04-05-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #7  
Antiguo 04-05-2006
Avatar de Emilio
*Emilio* Emilio is offline
Capo
 
Registrado: may 2003
Ubicación: Palma de Mallorca
Posts: 2.635
Poder: 10
Emilio Va por buen camino
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:
Empezado por Mick
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.
Totalmente de acuerdo.

Cita:
Empezado por Mick
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
Entiendo que si se accede a una url no válida haya algo que lo gestione y se lo haga saber al visitante, por ejemplo http://www.clubdelphi.com/url-no-valida te muestra una página avisando del error, pero que tiene eso que ver con la forma de crear la url válidas de tu sitio?


Cita:
Empezado por Mick
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.
Esto ya si que no lo entiendo.

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:
Empezado por Mick
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.
Pues no me resultan muy convincentes esos argumentos, el uso de includes, te permiten todo lo que dices y además la ventaja de tener cada cosa en el fichero y directorio que corresponde, no obstante si hay algo que he pasado por alto para centralizarlo todo en un index.php me gustaría que me lo aclarases.
__________________
Saludos
Emilio
Responder Con Cita
  #8  
Antiguo 05-05-2006
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Cita:
Empezado por Emilio
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?
con respecto a esto emilio, si tienes la sigueinte url
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:
Empezado por Emilio
¿no es más limpio http://www.ejemplo.com/busqueda.php?cadena=algo?

No le veo ventajas a lo otro y realmente me gustaría saber cuales son.
Lo que yo le veo a esto es que no todo usuario de la aplicación web conoce de estas tecnologías y que significado tiene el que sea .php por ejemplo o este signo "?" (Yo hasta hace algun tiempo lo desconocia) y es más facil para los usuarios de la aplicación si únicamente tenemos URLs represantando directorios (aunque estos sean ficticios) porque ellos conoceran mas de esto que de poner ?tema=3245.

Saludos.
Responder Con Cita
  #9  
Antiguo 05-05-2006
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
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...
__________________
El malabarista.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Interconectar BD Diferentes en SQL erasmorc SQL 1 21-11-2005 23:24:30
Parametros al ejecutar Aplicaciones + Aplicaciones en Mi PC NeWNeO Varios 4 19-08-2004 14:01:30
Diferentes alineaciones para diferentes parrafos ciscu Servers 0 15-03-2004 10:36:12
Unión con diferentes tipos de dato Kafu Firebird e Interbase 2 09-02-2004 13:20:45
TDecisionGraph con tipos de diagramas diferentes a barras verticales HombreSigma Gráficos 0 05-11-2003 04:11:10


La franja horaria es GMT +2. Ahora son las 03:12:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi