2008-11-27 15 views

Respuesta

0

Mucha gente está utilizando una arquitectura de tipo más "RESTful" ... o al menos, URL de aspecto REST.

Este sitio (StackOverflow) no muestra una extensión de archivo ... está usando ASP.NET MVC.

5

Para los sitios web que utilizan Apache, que probablemente están utilizando mod_rewrite que les permite Cambiar las URL (y les hacen más fácil y amigable SEO)

Usted puede leer más aquí http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html y aquí http://www.sitepoint.com/article/apache-mod_rewrite-examples/

EDIT: También hay módulos de reescritura para IIS.

+0

+1 Sí, definitivamente mod_rewrite o un módulo similar según su software de servidor –

+1

Tenga en cuenta que Amazon ejecuta un servidor de aplicaciones web personalizado conocido como "obidos". – Rob

+0

@Rob, no tenía idea de que tenían una aplicación web personalizada ... thnx – Kostis

0

Según la configuración de su servidor, puede usar (o no) la extensión que desee. Incluso podría establecer extensiones para ser ".JamesRocks", pero no será muy útil :)

De todas formas, por si acaso es nuevo en la programación web, todo ese galimatías al final hay argumentos para una operación GET, y no la extensión de la página.

9

Por lo general, se implementa utilizando un esquema de reescritura de URL de alguna descripción. La noción básica es que la web debería moverse hacia los recursos con los URI correctos, no con las antiguas URL clásicas que filtran los detalles de la implementación y que, como resultado, son vulnerables a los cambios futuros.

Se puede encontrar una discusión detallada del tema en el artículo Cool URIs Don't Change de Tim Berners-Lee, que aboga por reducir el cruft irrelevante en URIs como un medio de ayudar a evitar los problemas que ocurren cuando las implementaciones cambian y cuando los recursos se mueven a una URL diferente. El artículo en sí contiene buenos consejos generales sobre la planificación de un esquema de URI, y vale la pena leerlo.

22

Su navegador no se preocupa por la extensión del archivo, solo el tipo de contenido que informa el servidor. (Bueno, a menos que use IE porque en Microsoft creen que saben más acerca de lo que está sirviendo que usted). Si su servidor informa que el contenido que se está publicando es Content-Type: text/html, entonces su navegador debe tratarlo como si fuera HTML sin importar el nombre del archivo.

-1

En Django (un marco de aplicación web para python), usted mismo diseña las URL, independientemente de cualquier nombre de archivo, o incluso cualquier ruta en el servidor para ese asunto.

que acaba de decir algo como "Quiero /news/<number>/ URLs para ser manejados por esta función"

3

Tradicionalmente la extensión de archivo representa el archivo que está siendo servido.

Por ejemplo

http://someserver/somepath/image.jpg

Más tarde se utilizó el mismo enfoque para permitir un proceso de escritura el parámetro

http://somerverser/somepath/script.php?param=1234&other=7890

En este caso t El archivo era un script php que procesaba la "solicitud" y presentaba un archivo creado dinámicamente.

Hoy en día, las aplicaciones son mucho más complejo que eso (es decir, Amazon que metioned)

entonces no hay una única secuencia de comandos que controla la solicitud (pero un ingenio aplicación mucho más compleja de varios archivos/métodos/funciones/objeto, etc.), y la url es más como el punto de entrada para una aplicación web (puede tener un script detrás, pero eso es otra cosa) así que ahora las aplicaciones web como Amazon y Yes Stack Overflow no muestran un archivo en la URL pero cualquier cosa que comience es procesada por la aplicación en el lado del servidor.

websites urls without file extension?

Aquí preguntas representa la aplicación de web y el parámetro

espero que esta pequeña explicación le ayuda a comprender mejor todas las otras respuestas.

0

Varias publicaciones han mencionado esto, y voy a opinar. Es absolutamente un sistema de reescritura de URL, y varias plataformas tienen formas de implementarlo.

He trabajado para algunos sitios de comercio electrónico más grandes, y ahora es una parte muy importante de la presencia en la web, y ofrece una serie de ventajas.

Recomendaría tomar la tecnología con la que desea trabajar e investigar muestras del mecanismo de reescritura de URL para esa plataforma. Para .NET, por ejemplo, hay google 'asp.net url rewriting' o usa un framework de complementos como MVC, que hace esta funcionalidad de la caja.

5

más específica que la mayoría de estas respuestas:

contenido Web no utiliza la extensión de archivo para determinar qué tipo de archivo se está sirviendo (a menos que seas Internet Explorer). En cambio, usan el encabezado HTTP Content-type, que se envía por cable antes del contenido de la imagen, la página HTML, la descarga o lo que sea. Por ejemplo:

Content-type: text/html 

denota que la página que está viendo debe ser interpretado como HTML, y

Content-type: image/png 

denota que la página es una imagen PNG.

servidores Web a menudo utilizan la extensión de archivo si el archivo se sirve directamente desde el disco a determinar lo Content-type a ceder, pero las aplicaciones web también pueden generar páginas con cualquier Content-type que les gusta en respuesta a una solicitud. Independientemente de la estructura o extensión del nombre de archivo, siempre que el contenido real de la página coincida con el Content-type declarado, los datos se mostrarán según lo previsto.

1

Bueno, ¿qué tal tener un archivo index.html en el directorio y luego escribir la ruta en el navegador? Veo que Firefox e IE7 colocan automáticamente la barra al final, no tengo que escribirla. Esto es más adecuado para personas como yo que no creen que cada url en la tierra deba invocar php, perl, cgi y otras 10.000 aplicaciones solo para enviar unos pocos kilobytes de datos.

Cuestiones relacionadas