Cómo se llaman este tipo de querystrings? http://en.wikipedia.org/wiki/Clean_URLs
Para qué sirven? En la wikipedia explican algunas de las razones. Básicamente, son más fáciles de escribir para el usuario. Por ejemplo, se usan en las Wikis. ¿A que es más fácil como usuario escribir "http://es.wikipedia.org/wiki/Madrid" que acordarte de "http://www.wikipedia.org/index.php?action=view&language=ES&article=Madrid"?
Los crea automáticamente el servidor, o los ha de crear manualmente el desarrollador web de la aplicación? No estoy seguro de entender bien esta pregunta porque no estoy seguro de a qué te refieres con "servidor" (¿servidor web? ¿servidor de aplicaciones? ¿framework web?). Básicamente, estas URLs las crea e interpreta el framework web que utilices. Crear una URL o la otra es cuestión de una función simple, y entender la URL es cuestión del framework específico que uses. Algunos frameworks incluso entenderán ambas URL y te darán a ti como desarrollador web la misma interfaz, que no dependerá de cómo el usuario haya accedido a la web, si con query strings tradicionales o con la las Clean URLs estas.
< - >
Por ejemplo, yo uso mucho cherrypy (framework web de Python). Esta es una función cherrypy típica para un servidor de algo como Twitter:
Código:
@webapp.template(templates.contentlist.contentlist)
def list(self, text=''):
session = model.Session()
contents = session.query(model.Twitt).order_by(model.Twitt.id.desc()).limit(10)
return dict(contents=contents, text=text)
A esta función da igual si la llamas con "http://servidor.com/list?text=Saludo" (con GET), "http://servidor.com/list" (y en el contenido del POST, text=saludo), o "http://servidor.com/list/Saludo" (con GET) Yo como programador del servidor no tengo que hacer ninguna diferencia, será el framework cherrypy el que se haya encargado de digerir todas las posibles formas de llamarla y hacer que todas sean iguales para mí, programador.
Marcadores