subdominios subdominio subdirectorio que paises paginas lista internet ejemplos diferentes subdomain

subdomain - que - Subdominio vs. subdirectorio en programación web.



que es un subdirectorio (9)

Existen dos estrategias principales para manejar múltiples "aplicaciones" en la web:

  • subdominios (ej. wiki.example.org, blog.example.org, admin.example.org, api.example.org/v1)
  • subdirs (ej. example.org/wiki, example.org/blog, example.org/admin, example.org/api/v1)

¿Cuáles son las diferencias (ventajas y desventajas) de estas dos soluciones cuando se trata de la programación web (por ejemplo, en términos de organización de códigos, modelos de seguridad de navegadores, javascript, etc.).

Edit: CW ya que hay una respuesta correcta, pero es muy amplia.


Además del hecho de que, desde el punto de vista de la seguridad, es un poco más fácil aislar una aplicación dentro de un subdominio, solo comentaré lo que creo que es la mayor diferencia entre los dos.

Pro para subdominios:

  • Puede aislar la configuración (por ejemplo, apache) por dominio.
  • Será más fácil migrar partes de su aplicación a otras máquinas. Los subdirectorios realmente no le darán esta flexibilidad.
  • En lugar de tener que usar una variable $ baseUri en cada plantilla html, puede asumir que la raíz de la aplicación es siempre /.

Contras:

  • Será mucho más molesto configurar rápidamente la puesta en escena o los entornos de desarrollo temporal. Para cada ''aplicación'' ahora necesitará el DNS de las entradas del archivo de hosts y la configuración del servidor web. Con los subdirectorios, puedes colocar la aplicación en un directorio y listo.
  • Si alguna vez tiene el requisito de implementar su aplicación en un sistema diferente en el que no es posible usar / es debido a alguna política impar, es posible que haya que volver a escribir.

Mi consejo:

Asegúrate de que siempre puedas hacer ambas cosas, lo que te dará lo mejor de ambos mundos. Cada parte de su aplicación debe tener un uri base configurable que siempre se respeta. Mientras te asegures de que siempre puedes ir en ambos sentidos, ¿a quién le importa lo que haces? Es solo un url y siempre se puede cambiar.



Creo que las tres razones más importantes para usar subdominios, a diferencia de subdirectorios, son la seguridad, la seguridad y la seguridad. Los sub / directorios exponen la sesión del servidor a los hackers.

Por ejemplo, si tengo dos aplicaciones web que coloco en directorios, entonces, por lo general, compartirán la misma sesión (a menos que se tomen pasos específicos para prevenirla / mantenerla). Así que si tengo:

domain.com/application1

domain.com/application2

Si se hackea application2, el hacker puede ver todas las variables de sesión que se configuraron en application1. En este punto, la seguridad de su sesión se reduce al nivel de la subapp más débil, es decir, el eslabón más débil de la cadena.


Este es un tema bastante grande, pero aquí hay algunas ideas sobre los subdominios ...

Pros

  • Puede usar una configuración de enrutamiento ''limpia'' si está usando MVC.

  • División muy clara entre las partes del sistema y sin peligro de solapamiento del espacio de nombres.

Contras

  • En el lado negativo, es probable que haya más duplicación de código en el backend, a menos que sea inteligente con los directorios de biblioteca / incluye y use un área compartida.

Desde una perspectiva de SEO, no hay una gran diferencia en estos días y, de hecho, herramientas como Google Analytics pueden recibir instrucciones para utilizar un dominio de registro específico.


Personalmente, prefiero usar un subdominio para cada aplicación, y luego los subdirectorios (ya sean en realidad subdirectorios o no, preferiblemente se reencaminan a /index.php por un .htaccess) para denotar diferentes estados de esa solicitud. Por ejemplo:

admin.blah.com/users/1234/bob ,
admin.blah.com/pages/4321/title ,
blog.blah.com/archives/2007/5678/title , etc.

El subdominio te dice dónde estás y los subdirectorios te dicen lo que estás haciendo.


Una de las principales ventajas de los subdominios es que los archivos a los que apuntan pueden estar contenidos en cualquier lugar, incluso en otro servidor. Mi uso más común de un subdominio es el desarrollo continuo de un proyecto en vivo. Por ejemplo, puedes crear el subdominio:

dev.example.com

y haga una copia de su sitio en vivo, incluyendo toda la estructura del directorio. Coloque un archivo .htaccess para rechazar las conexiones de cualquier persona que no sea usted y la IP de su cliente, y use esto para hacer cambios hasta que las actualizaciones estén listas para ser puestas en funcionamiento.



  • En términos de organización de código: las diferencias son nulas, ya que puede asignar subdominios a cualquier directorio.
  • En términos de seguridad del navegador: el acceso de JavaScript a través de subdominios es posible pero tiene obstáculos (ver document.domain y consortes). No conozco nada en el lado de JavaScript que sea completamente imposible cuando se trabaja con subdominios diferentes.

Opinión:

Personalmente me inclino por los directorios y contra los subdominios de las direcciones públicas. El público en general se ha acostumbrado a las direcciones web que comienzan con "www". y crea una confusión innecesaria para romper este patrón. Notará que muy a menudo las personas, cuando se les asigna un subdominio para escribir en la barra de direcciones, comenzarán a escribir automáticamente "www". y se sorprenderán al saber que una dirección puede estar sin él.

Para mí, la única forma buena de usar subdominios es con fines internos para facilitar o preparar el uso de diferentes servidores (por ejemplo, static.example.com, images.example.com, etc.)


  • Puede "hacer" fácilmente los servidores virtuales en subdominios.
  • Puede separar los subdominios a diferentes cookies.

Sería mejor reconocer que los subdominios son una separación "importante" en el espacio web y los subdirectorios uno "menor". Los subdominios son para, bueno, diferentes dominios; podría tener diferentes personas ejecutando diferentes aplicaciones en diferentes subdominios. Los subdirectorios son particiones de un solo (sub) dominio, que separan quizás diferentes aplicaciones del mismo usuario.

Los estándares web son intencionalmente muy abiertos, pero cuanto más los abuses para crear jerarquías extrañas, más te picarán al final.